<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>更新日志</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="indexes.examples.html">« 示例列表</a></li>
      
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="appendices.html">附录</a></li>
    <li>更新日志</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="doc.changelog" class="appendix">
   <h1>更新日志</h1>

    <p class="para">对绑定的扩展的函数有以下更新。</p>
    
    <table class='doctable table' rules='groups'><thead><tr><th>Version</th><th>Function</th><th>Description</th></tr></thead><tbody class="gen-changelog v"><tr><td>Since 5.0</td><td><a href='function.cal-info.html'>cal_info</a></td><td>参数calendar作为可选项，缺省时默认值为&quot;所有历法&quot;。</td></tr></tbody><tbody class="gen-changelog vSince 5-0"><tr><td>Since 4.3.0</td><td><a href='function.easter-date.html'>easter_date</a></td><td>year参数可选，缺省的默认值是当年。</td></tr><tr><td>&nbsp;</td><td><a href='function.easter-days.html'>easter_days</a></td><td>参数year 可选，缺省默认值是当年。</td></tr><tr><td>&nbsp;</td><td><a href='function.easter-days.html'>easter_days</a></td><td>引入参数 method。</td></tr></tbody><tbody class="gen-changelog vSince 4-3-0"><tr><td>Prior to 5.1.3</td><td><a href='function.imagecolorallocatealpha.html'>imagecolorallocatealpha</a></td><td>Returns -1 if the allocation failed.</td></tr></tbody><tbody class="gen-changelog vPrior to 5-1-3"><tr><td>PHP 5.3.2 (PECL OCI8 1.4)</td><td><a href='function.oci-set-prefetch.html'>oci_set_prefetch</a></td><td>Before this release, rows must be &gt;= 1.</td></tr></tbody><tbody class="gen-changelog vPHP 5-3-2 (PECL OCI8 1-4)"><tr><td>PHP 5.3 (PECL OCI8 1.3.4)</td><td><a href='function.oci-set-prefetch.html'>oci_set_prefetch</a></td><td>Before this release, prefetching was limited to the lesser
         of rows rows and 1024
         * rows bytes.  The byte size
         restriction has now been removed.</td></tr></tbody><tbody class="gen-changelog vPHP 5-3 (PECL OCI8 1-3-4)"><tr><td>PECL 3.0.0</td><td><a href='intldateformatter.format.html'>IntlDateFormatter::format</a></td><td>Support for providing IntlCalendar objects to the
        datetime parameter was added.</td></tr></tbody><tbody class="gen-changelog vPECL 3-0-0"><tr><td>8.2.0</td><td><a href='dateinterval.construct.html'>DateInterval::__construct</a></td><td>Only the y to f,
       invert, and days will be visible,
       including a new from_string boolean property.</td></tr><tr><td>&nbsp;</td><td><a href='dateinterval.createfromdatestring.html'>DateInterval::createFromDateString</a></td><td>Only the from_string and
       date_string properties will be visible when a
       DateInterval is created with this method.</td></tr><tr><td>&nbsp;</td><td><a href='dateperiod.construct.html'>DatePeriod::__construct</a></td><td>The DatePeriod::INCLUDE_END_DATE constant has been added.</td></tr><tr><td>&nbsp;</td><td><a href='datetime.format.html'>DateTimeInterface::format</a></td><td>新增 X 和 x 格式化字符。</td></tr><tr><td>&nbsp;</td><td><a href='datetimeimmutable.createfromformat.html'>DateTimeImmutable::createFromFormat</a></td><td>The X and x
        format specifiers have been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.dba-fetch.html'>dba_fetch</a></td><td>dba_fetch's optional skip argument is now at the end
       in line with PHP userland semantics. The previously overloaded signature
       is still accepted but discouraged.</td></tr><tr><td>&nbsp;</td><td><a href='function.dba-open.html'>dba_open</a></td><td>flags is added.</td></tr><tr><td>&nbsp;</td><td><a href='function.dba-popen.html'>dba_popen</a></td><td>flags is added.</td></tr><tr><td>&nbsp;</td><td><a href='function.idate.html'>idate</a></td><td>添加 N（ISO-8601 格式的周几）和
        o（ISO-8601 格式的年份）格式字符。</td></tr><tr><td>&nbsp;</td><td><a href='function.iterator-count.html'>iterator_count</a></td><td>iterator 的类型从 Traversable
       扩展为 Traversablearray。</td></tr><tr><td>&nbsp;</td><td><a href='function.iterator-to-array.html'>iterator_to_array</a></td><td>iterator 的类型从 Traversable
       扩展为 Traversablearray。</td></tr><tr><td>&nbsp;</td><td><a href='function.lcfirst.html'>lcfirst</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。</td></tr><tr><td>&nbsp;</td><td><a href='function.random-bytes.html'>random_bytes</a></td><td>In case of a CSPRNG failure, this function will now throw a
       Random\RandomException. Previously a plain
       Exception was thrown.</td></tr><tr><td>&nbsp;</td><td><a href='function.random-int.html'>random_int</a></td><td>CSPRNG 失败时，此函数现在将抛出 Random\RandomException。之前抛出普通的
       Exception。</td></tr><tr><td>&nbsp;</td><td><a href='function.str-ireplace.html'>str_ireplace</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII
   大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。</td></tr><tr><td>&nbsp;</td><td><a href='function.strcasecmp.html'>strcasecmp</a></td><td>现在此函数返回 -1 或者 1，之前返回负数或正数。</td></tr><tr><td>&nbsp;</td><td><a href='function.strcmp.html'>strcmp</a></td><td>现在此函数返回 -1 或者 1，之前返回负数或正数。</td></tr><tr><td>&nbsp;</td><td><a href='function.stripos.html'>stripos</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII
   大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。</td></tr><tr><td>&nbsp;</td><td><a href='function.stristr.html'>stristr</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII
   大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。</td></tr><tr><td>&nbsp;</td><td><a href='function.strnatcasecmp.html'>strnatcasecmp</a></td><td>现在此函数返回 -1 或者 1，之前返回负数或正数。</td></tr><tr><td>&nbsp;</td><td><a href='function.strnatcmp.html'>strnatcmp</a></td><td>现在此函数返回 -1 或者 1，之前返回负数或正数。</td></tr><tr><td>&nbsp;</td><td><a href='function.strncasecmp.html'>strncasecmp</a></td><td>现在此函数返回 -1 或者 1，之前返回负数或正数。</td></tr><tr><td>&nbsp;</td><td><a href='function.strncmp.html'>strncmp</a></td><td>现在此函数返回 -1 或者 1，之前返回负数或正数。</td></tr><tr><td>&nbsp;</td><td><a href='function.strripos.html'>strripos</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII
   大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。</td></tr><tr><td>&nbsp;</td><td><a href='function.strtolower.html'>strtolower</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。</td></tr><tr><td>&nbsp;</td><td><a href='function.strtoupper.html'>strtoupper</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。</td></tr><tr><td>&nbsp;</td><td><a href='function.substr-compare.html'>substr_compare</a></td><td>现在此函数返回 -1 或者 1，之前返回负数或正数。</td></tr><tr><td>&nbsp;</td><td><a href='function.ucfirst.html'>ucfirst</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。</td></tr><tr><td>&nbsp;</td><td><a href='function.ucwords.html'>ucwords</a></td><td>大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。</td></tr><tr><td>&nbsp;</td><td><a href='function.utf8-decode.html'>utf8_decode</a></td><td>弃用此函数。</td></tr><tr><td>&nbsp;</td><td><a href='function.utf8-encode.html'>utf8_encode</a></td><td>弃用此函数。</td></tr><tr><td>&nbsp;</td><td><a href='reflectionenum.getbackingtype.html'>ReflectionEnum::getBackingType</a></td><td>返回类型现在声明为 ?ReflectionNamedType。之前声明为 ?ReflectionType。</td></tr></tbody><tbody class="gen-changelog v8-2-0"><tr><td>8.1.0</td><td><a href='datetime.settime.html'>DateTime::setTime</a></td><td>The behaviour with double existing hours (during the fall-back
      DST transition) changed. Previously PHP would pick the second occurrence
      (after the DST transition), instead of the first occurrence (before DST
       transition).</td></tr><tr><td>&nbsp;</td><td><a href='datetimeimmutable.settime.html'>DateTimeImmutable::setTime</a></td><td>The behaviour with double existing hours (during the fall-back
      DST transition) changed. Previously PHP would pick the second occurrence
      (after the DST transition), instead of the first occurrence (before DST
       transition).</td></tr><tr><td>&nbsp;</td><td><a href='directoryiterator.key.html'>DirectoryIterator::key</a></td><td>When the iterator is uninitialized, an Error is
        thrown now. Previously, the method returned false.</td></tr><tr><td>&nbsp;</td><td><a href='domdocument.createcomment.html'>DOMDocument::createComment</a></td><td>In case of an error, a DomException is thrown now.
       Previously, false was returned.</td></tr><tr><td>&nbsp;</td><td><a href='domdocument.createdocumentfragment.html'>DOMDocument::createDocumentFragment</a></td><td>In case of an error, a DomException is thrown now.
       Previously, false was returned.</td></tr><tr><td>&nbsp;</td><td><a href='domdocument.createtextnode.html'>DOMDocument::createTextNode</a></td><td>In case of an error, a DomException is thrown now.
       Previously, false was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.current.html'>current</a></td><td>弃用在 object 上调用此函数。
  在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。</td></tr><tr><td>&nbsp;</td><td><a href='function.date-sunrise.html'>date_sunrise</a></td><td>此函数已弃用，请改用 date_sun_info。</td></tr><tr><td>&nbsp;</td><td><a href='function.date-sunset.html'>date_sunset</a></td><td>此函数已弃用，请改用 date_sun_info。</td></tr><tr><td>&nbsp;</td><td><a href='function.dba-open.html'>dba_open</a></td><td>handler is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.dba-popen.html'>dba_popen</a></td><td>handler is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.end.html'>end</a></td><td>弃用在 object 上调用此函数。
  在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。</td></tr><tr><td>&nbsp;</td><td><a href='function.finfo-buffer.html'>finfo_buffer</a></td><td>finfo 参数现在接受 finfo
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.finfo-close.html'>finfo_close</a></td><td>finfo 参数现在接受 finfo
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.finfo-file.html'>finfo_file</a></td><td>finfo 参数现在接受 finfo
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.finfo-open.html'>finfo_open</a></td><td>现在返回 finfo 实例，之前返回 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.finfo-set-flags.html'>finfo_set_flags</a></td><td>finfo 参数现在接受 finfo
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.fputcsv.html'>fputcsv</a></td><td>新增可选的 eol 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-html-translation-table.html'>get_html_translation_table</a></td><td>flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash.html'>hash</a></td><td>新增 options 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-algos.html'>hash_algos</a></td><td>新增对 MurmurHash3 和 xxHash 算法的支持。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-file.html'>hash_file</a></td><td>新增 options 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-init.html'>hash_init</a></td><td>新增 options 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.html-entity-decode.html'>html_entity_decode</a></td><td>flags changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.</td></tr><tr><td>&nbsp;</td><td><a href='function.htmlentities.html'>htmlentities</a></td><td>flags 从 ENT_COMPAT 变更为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。</td></tr><tr><td>&nbsp;</td><td><a href='function.htmlspecialchars.html'>htmlspecialchars</a></td><td>flags 从 ENT_COMPAT 变更为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。</td></tr><tr><td>&nbsp;</td><td><a href='function.htmlspecialchars-decode.html'>htmlspecialchars_decode</a></td><td>flags 从 ENT_COMPAT 变更为ENT_QUOTES
       | ENT_SUBSTITUTE | ENT_HTML401。</td></tr><tr><td>&nbsp;</td><td><a href='function.imageopenpolygon.html'>imageopenpolygon</a></td><td>The parameter num_points has been deprecated.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagetypes.html'>imagetypes</a></td><td>新增 IMG_AVIF。</td></tr><tr><td>&nbsp;</td><td><a href='function.ini-set.html'>ini_set</a></td><td>value 现在接受任何标量类型（包含
       null），之前仅接受 string 值。</td></tr><tr><td>&nbsp;</td><td><a href='function.key.html'>key</a></td><td>弃用在 object 上调用此函数。
  在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-add.html'>ldap_add</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-add-ext.html'>ldap_add_ext</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-add-ext.html'>ldap_add_ext</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-bind-ext.html'>ldap_bind_ext</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-bind-ext.html'>ldap_bind_ext</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-compare.html'>ldap_compare</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-connect.html'>ldap_connect</a></td><td>Returns an LDAP\Connection instance now;
       previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-count-entries.html'>ldap_count_entries</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-count-entries.html'>ldap_count_entries</a></td><td>The result parameter expects an LDAP\Result
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-count-references.html'>ldap_count_references</a></td><td>The result parameter expects an LDAP\Result
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-count-references.html'>ldap_count_references</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-delete.html'>ldap_delete</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-delete-ext.html'>ldap_delete_ext</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-delete-ext.html'>ldap_delete_ext</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-errno.html'>ldap_errno</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-error.html'>ldap_error</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-exop.html'>ldap_exop</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-exop-passwd.html'>ldap_exop_passwd</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-exop-refresh.html'>ldap_exop_refresh</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-exop-whoami.html'>ldap_exop_whoami</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-first-attribute.html'>ldap_first_attribute</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-first-attribute.html'>ldap_first_attribute</a></td><td>The entry parameter expects an LDAP\ResultEntry
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-first-entry.html'>ldap_first_entry</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-first-entry.html'>ldap_first_entry</a></td><td>Returns an LDAP\ResultEntry instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-first-entry.html'>ldap_first_entry</a></td><td>The result parameter expects an LDAP\Result
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-free-result.html'>ldap_free_result</a></td><td>The result parameter expects an LDAP\Result
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-attributes.html'>ldap_get_attributes</a></td><td>The entry parameter expects an LDAP\ResultEntry
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-attributes.html'>ldap_get_attributes</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-dn.html'>ldap_get_dn</a></td><td>The entry parameter expects an LDAP\ResultEntry
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-dn.html'>ldap_get_dn</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-entries.html'>ldap_get_entries</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-entries.html'>ldap_get_entries</a></td><td>The result parameter expects an LDAP\Result
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-option.html'>ldap_get_option</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-values.html'>ldap_get_values</a></td><td>The entry parameter expects an LDAP\ResultEntry
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-values.html'>ldap_get_values</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-values-len.html'>ldap_get_values_len</a></td><td>The entry parameter expects an LDAP\ResultEntry
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-get-values-len.html'>ldap_get_values_len</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-list.html'>ldap_list</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-list.html'>ldap_list</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-add.html'>ldap_mod_add</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-del.html'>ldap_mod_del</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-replace.html'>ldap_mod_replace</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-modify-batch.html'>ldap_modify_batch</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_add-ext.html'>ldap_mod_add_ext</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_add-ext.html'>ldap_mod_add_ext</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_del-ext.html'>ldap_mod_del_ext</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_del-ext.html'>ldap_mod_del_ext</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_replace-ext.html'>ldap_mod_replace_ext</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_replace-ext.html'>ldap_mod_replace_ext</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-next-attribute.html'>ldap_next_attribute</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-next-attribute.html'>ldap_next_attribute</a></td><td>The entry parameter expects an LDAP\ResultEntry
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-next-entry.html'>ldap_next_entry</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-next-entry.html'>ldap_next_entry</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-next-entry.html'>ldap_next_entry</a></td><td>The entry parameter expects an LDAP\ResultEntry
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-parse-exop.html'>ldap_parse_exop</a></td><td>The result parameter expects an LDAP\Result
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-parse-exop.html'>ldap_parse_exop</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-parse-result.html'>ldap_parse_result</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-parse-result.html'>ldap_parse_result</a></td><td>The result parameter expects an LDAP\Result
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-read.html'>ldap_read</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-read.html'>ldap_read</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-rename.html'>ldap_rename</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-rename-ext.html'>ldap_rename_ext</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-rename-ext.html'>ldap_rename_ext</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-sasl-bind.html'>ldap_sasl_bind</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-search.html'>ldap_search</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-search.html'>ldap_search</a></td><td>Returns an LDAP\Result instance now;
  previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-set-option.html'>ldap_set_option</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-set-rebind-proc.html'>ldap_set_rebind_proc</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-unbind.html'>ldap_unbind</a></td><td>现在 ldap 参数接受 LDAP\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.mhash.html'>mhash</a></td><td>This function has been deprecated.
        Use the hash_*() functions instead.</td></tr><tr><td>&nbsp;</td><td><a href='function.mhash-count.html'>mhash_count</a></td><td>This function has been deprecated.
        Use the hash_*() functions instead.</td></tr><tr><td>&nbsp;</td><td><a href='function.mhash-get-block-size.html'>mhash_get_block_size</a></td><td>This function has been deprecated.
        Use the hash_*() functions instead.</td></tr><tr><td>&nbsp;</td><td><a href='function.mhash-get-hash-name.html'>mhash_get_hash_name</a></td><td>This function has been deprecated.
        Use the hash_*() functions instead.</td></tr><tr><td>&nbsp;</td><td><a href='function.mhash-keygen-s2k.html'>mhash_keygen_s2k</a></td><td>This function has been deprecated.
        Use the hash_*() functions instead.</td></tr><tr><td>&nbsp;</td><td><a href='function.next.html'>next</a></td><td>弃用在 object 上调用此函数。
  在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-result-all.html'>odbc_result_all</a></td><td>This function has been deprecated.</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-cms-encrypt.html'>openssl_cms_encrypt</a></td><td>The default cipher algorithm (cipher_algo) is now
       AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC). Previously,
       PKCS7/CMS was used (OPENSSL_CIPHER_RC2_40).</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-consume-input.html'>pg_consume_input</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-escape-identifier.html'>pg_escape_identifier</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-escape-literal.html'>pg_escape_literal</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-execute.html'>pg_execute</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-execute.html'>pg_execute</a></td><td>现在返回 PgSql\Result 
  实例，之前返回 资源(resource)</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-fetch-all-columns.html'>pg_fetch_all_columns</a></td><td>现在 result 参数接受 PgSql\Result
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-field-table.html'>pg_field_table</a></td><td>现在 result 参数接受 PgSql\Result
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-field-type-oid.html'>pg_field_type_oid</a></td><td>现在 result 参数接受 PgSql\Result
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-lo-truncate.html'>pg_lo_truncate</a></td><td>现在 lob 接受 PgSql\Lob 
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-parameter-status.html'>pg_parameter_status</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-prepare.html'>pg_prepare</a></td><td>现在返回 PgSql\Result 
  实例，之前返回 资源(resource)</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-prepare.html'>pg_prepare</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-query-params.html'>pg_query_params</a></td><td>现在返回 PgSql\Result 
  实例，之前返回 资源(resource)</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-query-params.html'>pg_query_params</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-result-error-field.html'>pg_result_error_field</a></td><td>现在 result 参数接受 PgSql\Result
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-send-execute.html'>pg_send_execute</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-send-prepare.html'>pg_send_prepare</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-send-query-params.html'>pg_send_query_params</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-set-error-verbosity.html'>pg_set_error_verbosity</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-socket.html'>pg_socket</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-transaction-status.html'>pg_transaction_status</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-version.html'>pg_version</a></td><td>现在 connection 参数接受 PgSql\Connection
  实例，之前接受 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.prev.html'>prev</a></td><td>弃用在 object 上调用此函数。
  在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-add-to-personal.html'>pspell_add_to_personal</a></td><td>The dictionary parameter expects an PSpell\Dictionary
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-add-to-session.html'>pspell_add_to_session</a></td><td>The dictionary parameter expects an PSpell\Dictionary
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-check.html'>pspell_check</a></td><td>The dictionary parameter expects an PSpell\Dictionary
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-clear-session.html'>pspell_clear_session</a></td><td>The dictionary parameter expects an PSpell\Dictionary
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-create.html'>pspell_config_create</a></td><td>Returns an PSpell\Config instance now;
       previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-data-dir.html'>pspell_config_data_dir</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-dict-dir.html'>pspell_config_dict_dir</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-ignore.html'>pspell_config_ignore</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-mode.html'>pspell_config_mode</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-personal.html'>pspell_config_personal</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-repl.html'>pspell_config_repl</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-runtogether.html'>pspell_config_runtogether</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-config-save-repl.html'>pspell_config_save_repl</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-new.html'>pspell_new</a></td><td>Returns an PSpell\Dictionary instance now;
       previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-new-config.html'>pspell_new_config</a></td><td>The config parameter expects an PSpell\Config
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-new-config.html'>pspell_new_config</a></td><td>Returns an PSpell\Dictionary instance now;
       previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-new-personal.html'>pspell_new_personal</a></td><td>Returns an PSpell\Dictionary instance now;
       previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-save-wordlist.html'>pspell_save_wordlist</a></td><td>The dictionary parameter expects an PSpell\Dictionary
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-store-replacement.html'>pspell_store_replacement</a></td><td>The dictionary parameter expects an PSpell\Dictionary
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.pspell-suggest.html'>pspell_suggest</a></td><td>The dictionary parameter expects an PSpell\Dictionary
  instance now; previously, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.reset.html'>reset</a></td><td>弃用在 object 上调用此函数。
  在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。</td></tr><tr><td>&nbsp;</td><td><a href='function.snmp3-get.html'>snmp3_get</a></td><td>The auth_protocol now accepts &quot;SHA256&quot;
        and &quot;SHA512&quot; when supported by libnetsnmp.</td></tr><tr><td>&nbsp;</td><td><a href='function.snmp3-getnext.html'>snmp3_getnext</a></td><td>The auth_protocol now accepts &quot;SHA256&quot;
        and &quot;SHA512&quot; when supported by libnetsnmp.</td></tr><tr><td>&nbsp;</td><td><a href='function.snmp3-real-walk.html'>snmp3_real_walk</a></td><td>The auth_protocol now accepts &quot;SHA256&quot;
        and &quot;SHA512&quot; when supported by libnetsnmp.</td></tr><tr><td>&nbsp;</td><td><a href='function.snmp3-walk.html'>snmp3_walk</a></td><td>The auth_protocol now accepts &quot;SHA256&quot;
        and &quot;SHA512&quot; when supported by libnetsnmp.</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-select.html'>stream_select</a></td><td>microseconds is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.strptime.html'>strptime</a></td><td>此函数已弃用。改用 date_parse_from_format（用于单独区域设置解析）或者 IntlDateFormatter::parse（用于依赖区域设置解析）</td></tr><tr><td>&nbsp;</td><td><a href='multipleiterator.current.html'>MultipleIterator::current</a></td><td>A RuntimeException is now thrown if
       MultipleIterator::current is called on an
       invalid iterator.  Previously, false was returned.</td></tr><tr><td>&nbsp;</td><td><a href='multipleiterator.key.html'>MultipleIterator::key</a></td><td>A RuntimeException is now thrown if
       MultipleIterator::key is called on an
       invalid iterator.  Previously, false was returned.</td></tr><tr><td>&nbsp;</td><td><a href='phar.buildfromdirectory.html'>Phar::buildFromDirectory</a></td><td>Phar::buildFromDirectory no longer returns false.</td></tr><tr><td>&nbsp;</td><td><a href='phar.buildfromiterator.html'>Phar::buildFromIterator</a></td><td>Phar::buildFromIterator no longer returns false.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.buildfromdirectory.html'>PharData::buildFromDirectory</a></td><td>PharData::buildFromDirectory no longer returns false.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.buildfromiterator.html'>PharData::buildFromIterator</a></td><td>PharData::buildFromIterator no longer returns false.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionclassconstant.getname.html'>ReflectionClassConstant::getName</a></td><td>Throws an Error in case the name property has not been initialized.
       Previously, the method returned false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionextension.clone.html'>ReflectionExtension::__clone</a></td><td>此函数不再是 final。</td></tr><tr><td>&nbsp;</td><td><a href='reflectionfunctionabstract.clone.html'>ReflectionFunctionAbstract::__clone</a></td><td>此函数不再是 final。</td></tr><tr><td>&nbsp;</td><td><a href='reflectionparameter.clone.html'>ReflectionParameter::__clone</a></td><td>This method is no longer final.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionproperty.clone.html'>ReflectionProperty::__clone</a></td><td>This method is no longer final.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionproperty.getvalue.html'>ReflectionProperty::getValue</a></td><td>Private and protected properties can be accessed by
       ReflectionProperty::getValue right away.
       Previously, they needed to be made accessible by calling
       ReflectionProperty::setAccessible; otherwise
       a ReflectionException was thrown.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionproperty.setvalue.html'>ReflectionProperty::setValue</a></td><td>Private and protected properties can be accessed by
       ReflectionProperty::setValue right away.
       Previously, they needed to be made accessible by calling
       ReflectionProperty::setAccessible; otherwise
       a ReflectionException was thrown.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionzendextension.clone.html'>ReflectionZendExtension::__clone</a></td><td>This method is no longer final.</td></tr><tr><td>&nbsp;</td><td><a href='splfileobject.fputcsv.html'>SplFileObject::fputcsv</a></td><td>The optional eol parameter has been added.</td></tr><tr><td>&nbsp;</td><td><a href='splobjectstorage.current.html'>SplObjectStorage::current</a></td><td>SplObjectStorage::current now throws an Error exception
       if the current position is invalid.  Previously, false was returned instead.</td></tr></tbody><tbody class="gen-changelog v8-1-0"><tr><td>8.0.3</td><td><a href='domdocument.getelementsbytagnamens.html'>DOMDocument::getElementsByTagNameNS</a></td><td>namespace is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='domelement.getelementsbytagnamens.html'>DOMElement::getElementsByTagNameNS</a></td><td>namespace is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='domimplementation.createdocument.html'>DOMImplementation::createDocument</a></td><td>namespace is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='finfo.construct.html'>finfo::__construct</a></td><td>magic_database is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.bind-textdomain-codeset.html'>bind_textdomain_codeset</a></td><td>codeset is nullable now.
       Previously, it was not possible to retrieve the currently set encoding.</td></tr><tr><td>&nbsp;</td><td><a href='function.bindtextdomain.html'>bindtextdomain</a></td><td>directory is nullable now.
       Previously, it was not possible to retrieve the currently set directory.</td></tr><tr><td>&nbsp;</td><td><a href='function.finfo-open.html'>finfo_open</a></td><td>magic_database 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='soapclient.setlocation.html'>SoapClient::__setLocation</a></td><td>location is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='soapvar.construct.html'>SoapVar::__construct</a></td><td>typeName, typeNamespace, nodeName,and
       nodeNamespace are nullable now.</td></tr></tbody><tbody class="gen-changelog v8-0-3"><tr><td>8.0.0, PECL OCI8 3.0.0</td><td><a href='function.oci-lob-copy.html'>oci_lob_copy</a></td><td>length is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='ocicollection.append.html'>OCICollection::append</a></td><td>The OCI-Collection class was renamed to
       OCICollection to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocicollection.assign.html'>OCICollection::assign</a></td><td>The OCI-Collection class was renamed to
       OCICollection to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocicollection.assignelem.html'>OCICollection::assignElem</a></td><td>The OCI-Collection class was renamed to
       OCICollection to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocicollection.free.html'>OCICollection::free</a></td><td>The OCI-Collection class was renamed to
       OCICollection to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocicollection.getelem.html'>OCICollection::getElem</a></td><td>The OCI-Collection class was renamed to
       OCICollection to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocicollection.max.html'>OCICollection::max</a></td><td>The OCI-Collection class was renamed to
       OCICollection to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocicollection.size.html'>OCICollection::size</a></td><td>The OCI-Collection class was renamed to
       OCICollection to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocicollection.trim.html'>OCICollection::trim</a></td><td>The OCI-Collection class was renamed to
       OCICollection to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.append.html'>OCILob::append</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.close.html'>OCILob::close</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.eof.html'>OCILob::eof</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.erase.html'>OCILob::erase</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.erase.html'>OCILob::erase</a></td><td>offset and length are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.export.html'>OCILob::export</a></td><td>offset and length are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.export.html'>OCILob::export</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.flush.html'>OCILob::flush</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.free.html'>OCILob::free</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.getbuffering.html'>OCILob::getBuffering</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.import.html'>OCILob::import</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.load.html'>OCILob::load</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.read.html'>OCILob::read</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.rewind.html'>OCILob::rewind</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.save.html'>OCILob::save</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.savefile.html'>OCILob::saveFile</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.seek.html'>OCILob::seek</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.setbuffering.html'>OCILob::setBuffering</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.size.html'>OCILob::size</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.tell.html'>OCILob::tell</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.truncate.html'>OCILob::truncate</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.write.html'>OCILob::write</a></td><td>length is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.write.html'>OCILob::write</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.writetemporary.html'>OCILob::writeTemporary</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.writetofile.html'>OCILob::writeToFile</a></td><td>The OCI-Lob class was renamed to
       OCILob to align with PHP naming standards.</td></tr><tr><td>&nbsp;</td><td><a href='ocilob.writetofile.html'>OCILob::writeToFile</a></td><td>offset and length are now nullable.</td></tr></tbody><tbody class="gen-changelog v8-0-0, PECL OCI8 3-0-0"><tr><td>8.0.0</td><td><a href='dateinterval.construct.html'>DateInterval::__construct</a></td><td>W can be combined with D.</td></tr><tr><td>&nbsp;</td><td><a href='datetime.createfromimmutable.html'>DateTime::createFromImmutable</a></td><td>The method returns an instance of the currently invoked class now. Previously, it created a new instance
        of DateTime.</td></tr><tr><td>&nbsp;</td><td><a href='datetime.format.html'>DateTimeInterface::format</a></td><td>新增 p 格式化字符。</td></tr><tr><td>&nbsp;</td><td><a href='datetime.format.html'>DateTimeInterface::format</a></td><td>之前的版本，失败时返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='datetime.getoffset.html'>DateTimeInterface::getOffset</a></td><td>Prior to this version, false was returned on failure.</td></tr><tr><td>&nbsp;</td><td><a href='datetime.gettimestamp.html'>DateTimeInterface::getTimestamp</a></td><td>These functions no longer return false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='datetimeimmutable.createfrommutable.html'>DateTimeImmutable::createFromMutable</a></td><td>The method returns an instance of the currently invoked class now. Previously, it created a new instance
        of DateTimeImmutable.</td></tr><tr><td>&nbsp;</td><td><a href='datetimezone.getoffset.html'>DateTimeZone::getOffset</a></td><td>在此之前的版本，失败时返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='datetimezone.listidentifiers.html'>DateTimeZone::listIdentifiers</a></td><td>在此版本之前，失败时返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='directory.close.html'>Directory::close</a></td><td>不接受任何参数。在此之前，目录句柄可以作为参数传递。</td></tr><tr><td>&nbsp;</td><td><a href='directory.read.html'>Directory::read</a></td><td>不接受任何参数。在此之前，目录句柄可以作为参数传递。</td></tr><tr><td>&nbsp;</td><td><a href='directory.rewind.html'>Directory::rewind</a></td><td>不接受任何参数。在此之前，目录句柄可以作为参数传递。</td></tr><tr><td>&nbsp;</td><td><a href='directoryiterator.construct.html'>DirectoryIterator::__construct</a></td><td>Now throws a ValueError if
        directory is an empty string;
        previously it threw a RuntimeException.</td></tr><tr><td>&nbsp;</td><td><a href='domimplementation.createdocument.html'>DOMImplementation::createDocument</a></td><td>doctype is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='ffi.cdef.html'>FFI::cdef</a></td><td>lib is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='ffi.string.html'>FFI::string</a></td><td>size is nullable now; previously, its default was
       0.</td></tr><tr><td>&nbsp;</td><td><a href='filesystemiterator.construct.html'>FilesystemIterator::__construct</a></td><td>Now throws a ValueError if
        directory is an empty string;
        previously it threw a RuntimeException.</td></tr><tr><td>&nbsp;</td><td><a href='function.abs.html'>abs</a></td><td>num 不再接受支持数字转换的内部对象。</td></tr><tr><td>&nbsp;</td><td><a href='function.apache-note.html'>apache_note</a></td><td>现在 note_value 可为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-chunk.html'>array_chunk</a></td><td>如果 length 小于 1，现在会抛出
       ValueError；之前会引发 E_WARNING 
       级别的错误且函数会返回 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-column.html'>array_column</a></td><td>index_key 参数指定的列中的对象不再强制转换为字符串，而是会抛出
        TypeError。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-combine.html'>array_combine</a></td><td>如果每个数组的元素数量不相等，现在 array_combine 将会抛出 ValueError，之前此方法返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-diff.html'>array_diff</a></td><td>现在可以仅使用一个参数调用此函数。以前，至少需要两个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-diff-assoc.html'>array_diff_assoc</a></td><td>现在可以仅使用一个参数调用此函数。以前，至少需要两个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-diff-key.html'>array_diff_key</a></td><td>现在可以仅使用一个参数调用此函数。以前，至少需要两个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-fill.html'>array_fill</a></td><td>如果 array_fill 的 count
       超出范围现在将会抛出 ValueError，
       之前会引发 E_WARNING 且函数返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-filter.html'>array_filter</a></td><td>callback 现在可为空（nullable）。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-filter.html'>array_filter</a></td><td>如果 callback 接受引用传递参数，该方法将会抛出
  E_WARNING。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-intersect.html'>array_intersect</a></td><td>现在可以仅使用一个参数调用此函数。以前，至少需要两个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-intersect-assoc.html'>array_intersect_assoc</a></td><td>现在可以仅使用一个参数调用此函数。以前，至少需要两个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-intersect-key.html'>array_intersect_key</a></td><td>现在可以仅使用一个参数调用此函数。以前，至少需要两个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-map.html'>array_map</a></td><td>如果 callback 接受引用传递参数，该方法将会抛出
  E_WARNING。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-reduce.html'>array_reduce</a></td><td>如果 callback 接受引用传递参数，该方法将会抛出
  E_WARNING。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-splice.html'>array_splice</a></td><td>length 现在可为空（nullable）。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-walk.html'>array_walk</a></td><td>如果 callback 期待通过引用传递第二个和第三个参数，
       此函数现在将抛出 E_WARNING。</td></tr><tr><td>&nbsp;</td><td><a href='function.assert.html'>assert</a></td><td>不再允许在命名空间中声明叫做 assert() 的函数，并发出 E_COMPILE_ERROR。</td></tr><tr><td>&nbsp;</td><td><a href='function.assert.html'>assert</a></td><td>assert 将不再对字符串参数求值，而是跟其他参数一样对待。应该使用 assert($a == $b)
         替代 assert('$a == $b')。已移除 assert.quiet_eval php.ini 指令和
         ASSERT_QUIET_EVAL 常量，因为它们不再有任何作用。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcadd.html'>bcadd</a></td><td>现在 scale 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.bccomp.html'>bccomp</a></td><td>现在 scale 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcdiv.html'>bcdiv</a></td><td>现在 scale 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcmod.html'>bcmod</a></td><td>现在 scale 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcmul.html'>bcmul</a></td><td>现在 scale 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcpowmod.html'>bcpowmod</a></td><td>scale is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.bcscale.html'>bcscale</a></td><td>现在 scale 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcsqrt.html'>bcsqrt</a></td><td>现在 scale 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcsub.html'>bcsub</a></td><td>现在 scale 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.bzdecompress.html'>bzdecompress</a></td><td>use_less_memory 的类型从 int 变为 bool。
       之前默认值为 0。</td></tr><tr><td>&nbsp;</td><td><a href='function.bzwrite.html'>bzwrite</a></td><td>length 现在可为空（nullable）。</td></tr><tr><td>&nbsp;</td><td><a href='function.call-user-func-array.html'>call_user_func_array</a></td><td>args 键现在将被解释为参数名称，而不是被默默地忽略。</td></tr><tr><td>&nbsp;</td><td><a href='function.ceil.html'>ceil</a></td><td>num 不再接受支持数字转换的内部对象。</td></tr><tr><td>&nbsp;</td><td><a href='function.com-event-sink.html'>com_event_sink</a></td><td>sink_interface is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.com-get-active-object.html'>com_get_active_object</a></td><td>codepage is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.constant.html'>constant</a></td><td>如果常量未定义，constant 现在会抛出
       Error 异常。以前会产生一个
       E_WARNING 级别的错误并返回 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.convert-uuencode.html'>convert_uuencode</a></td><td>在此版本之前，尝试转换空字符串将返回 false，没有任何特殊原因。</td></tr><tr><td>&nbsp;</td><td><a href='function.count.html'>count</a></td><td>当 value 参数传入了无效的 countable 类型，
       count 现在会抛出 TypeError。</td></tr><tr><td>&nbsp;</td><td><a href='function.count-chars.html'>count_chars</a></td><td>在此版本之前，函数在失败时返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.crypt.html'>crypt</a></td><td>salt不再可选。</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-copy-handle.html'>curl_copy_handle</a></td><td>handle expects a CurlHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-copy-handle.html'>curl_copy_handle</a></td><td>现在成功时，此函数返回 CurlHandle 实例，之前返回 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-multi-add-handle.html'>curl_multi_add_handle</a></td><td>multi_handle expects a CurlMultiHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-multi-add-handle.html'>curl_multi_add_handle</a></td><td>handle expects a CurlHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-multi-close.html'>curl_multi_close</a></td><td>multi_handle expects a CurlMultiHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-multi-getcontent.html'>curl_multi_getcontent</a></td><td>handle expects a CurlHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-multi-info-read.html'>curl_multi_info_read</a></td><td>multi_handle expects a CurlMultiHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-multi-remove-handle.html'>curl_multi_remove_handle</a></td><td>multi_handle expects a CurlMultiHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-multi-remove-handle.html'>curl_multi_remove_handle</a></td><td>handle expects a CurlHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.curl-multi-select.html'>curl_multi_select</a></td><td>multi_handle expects a CurlMultiHandle
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.date.html'>date</a></td><td>现在 timestamp 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.date-sunrise.html'>date_sunrise</a></td><td>latitude, longitude,
        zenith and utcOffset are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.date-sunset.html'>date_sunset</a></td><td>latitude, longitude,
        zenith and utcOffset are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.define.html'>define</a></td><td>现在传递 true 到 case_insensitive
        会发出 E_WARNING。仍然允许传递 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.deflate-add.html'>deflate_add</a></td><td>context expects a DeflateContext
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.deflate-init.html'>deflate_init</a></td><td>On success, this function returns a DeflateContext instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.dir.html'>dir</a></td><td>context 现在可为空（nullable）。</td></tr><tr><td>&nbsp;</td><td><a href='function.dom-import-simplexml.html'>dom_import_simplexml</a></td><td>This function no longer returns null on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-describe.html'>enchant_broker_describe</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-describe.html'>enchant_broker_describe</a></td><td>Prior to this version, the function returned false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-dict-exists.html'>enchant_broker_dict_exists</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-free.html'>enchant_broker_free</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-free-dict.html'>enchant_broker_free_dict</a></td><td>dictionary expects a EnchantDictionary now;
       previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-get-dict-path.html'>enchant_broker_get_dict_path</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-get-error.html'>enchant_broker_get_error</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-init.html'>enchant_broker_init</a></td><td>On success, this function returns an EnchantBroker instance now;
       previoulsy, a 资源(resource) was retured.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-list-dicts.html'>enchant_broker_list_dicts</a></td><td>Prior to this version, the function returned false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-list-dicts.html'>enchant_broker_list_dicts</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-request-dict.html'>enchant_broker_request_dict</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-request-dict.html'>enchant_broker_request_dict</a></td><td>On success, this function returns an EnchantDictionary instance now;
       previoulsy, a 资源(resource) was retured.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-request-pwl-dict.html'>enchant_broker_request_pwl_dict</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-request-pwl-dict.html'>enchant_broker_request_pwl_dict</a></td><td>On success, this function returns an EnchantDictionary instance now;
       previoulsy, a 资源(resource) was retured.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-set-dict-path.html'>enchant_broker_set_dict_path</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-broker-set-ordering.html'>enchant_broker_set_ordering</a></td><td>broker expects an EnchantBroker instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-add.html'>enchant_dict_add</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-add-to-session.html'>enchant_dict_add_to_session</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-check.html'>enchant_dict_check</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-describe.html'>enchant_dict_describe</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-describe.html'>enchant_dict_describe</a></td><td>Prior to this version, the function returned false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-get-error.html'>enchant_dict_get_error</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-is-added.html'>enchant_dict_is_added</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-quick-check.html'>enchant_dict_quick_check</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-store-replacement.html'>enchant_dict_store_replacement</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.enchant-dict-suggest.html'>enchant_dict_suggest</a></td><td>dictionary expects an EnchantDictionary instance now;
  previoulsy, a 资源(resource) was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.error-log.html'>error_log</a></td><td>现在 destination 和
       additional_headers 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.error-reporting.html'>error_reporting</a></td><td>error_level 现在可以为空。</td></tr><tr><td>&nbsp;</td><td><a href='function.exec.html'>exec</a></td><td>如果 command 为空或者包含 null 字节，exec 现在将抛出
       ValueError。之前会发出 E_WARNING 并返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.exif-read-data.html'>exif_read_data</a></td><td>required_sections 现在可以为空。</td></tr><tr><td>&nbsp;</td><td><a href='function.fgetcsv.html'>fgetcsv</a></td><td>现在 length 允许为 null.</td></tr><tr><td>&nbsp;</td><td><a href='function.file-get-contents.html'>file_get_contents</a></td><td>现在 length 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.finfo-buffer.html'>finfo_buffer</a></td><td>context 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.finfo-file.html'>finfo_file</a></td><td>context 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.floor.html'>floor</a></td><td>num 不再接受支持数字转换的内部对象。</td></tr><tr><td>&nbsp;</td><td><a href='function.fsockopen.html'>fsockopen</a></td><td>timeout 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.fwrite.html'>fwrite</a></td><td>现在 length 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-class.html'>get_class</a></td><td>在类外不带任何参数调用此函数将会触发 Error。之前会引发
        E_WARNING 并且函数会返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-class-methods.html'>get_class_methods</a></td><td>object_or_class 参数现在只接受对象或者有效的类名。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-defined-functions.html'>get_defined_functions</a></td><td>exclude_disabled 参数的默认值从 false 更改为 true。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-headers.html'>get_headers</a></td><td>associative 从 int 更改为 bool。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-parent-class.html'>get_parent_class</a></td><td>object_or_class 参数现在仅接受对象或者有效的类名。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-resources.html'>get_resources</a></td><td>type is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.getdate.html'>getdate</a></td><td>现在 timestamp 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.gmdate.html'>gmdate</a></td><td>现在 timestamp 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.gmmktime.html'>gmmktime</a></td><td>hour 不再可选。</td></tr><tr><td>&nbsp;</td><td><a href='function.gmmktime.html'>gmmktime</a></td><td>现在 minute、second、month、day
        和 year 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.gmp-binomial.html'>gmp_binomial</a></td><td>This function no longer returns false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.gmp-export.html'>gmp_export</a></td><td>This function no longer returns false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.gmp-import.html'>gmp_import</a></td><td>This function no longer returns false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.gmp-random-seed.html'>gmp_random_seed</a></td><td>If seed is invalid, gmp_random_seed
       now throws a ValueError.
       Previously it emitted an E_WARNING and returned false.</td></tr><tr><td>&nbsp;</td><td><a href='function.gmstrftime.html'>gmstrftime</a></td><td>现在 timestamp 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.grapheme-substr.html'>grapheme_substr</a></td><td>The function now consistently clamps out-of-bounds offsets to the string boundary.
       Previously, false was returned instead of the empty string in some cases.</td></tr><tr><td>&nbsp;</td><td><a href='function.gzgets.html'>gzgets</a></td><td>length is nullable now;
       previously, the default was 1024.</td></tr><tr><td>&nbsp;</td><td><a href='function.gzwrite.html'>gzwrite</a></td><td>length is nullable now; previously, the default was
       0.</td></tr><tr><td>&nbsp;</td><td><a href='function.hash.html'>hash</a></td><td>如果 algo 未知，现在 hash 将抛出
        ValueError 异常，之前返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-hkdf.html'>hash_hkdf</a></td><td>Now throws a ValueError exception on error.
        Previously, false was returned and an E_WARNING
        message was emitted.</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-hmac.html'>hash_hmac</a></td><td>如果 algo 未知或者非加密散列函数，现在将抛出
        ValueError 异常；以前返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-hmac-file.html'>hash_hmac_file</a></td><td>如果 algo 未知或非加密散列函数，现在抛出
        ValueError 异常，之前返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-init.html'>hash_init</a></td><td>如果 algo 未知或非加密散列函数，或者 key
        为空时，现在抛出 ValueError 异常。之前返回 false
        并发出 E_WARNING 消息。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-pbkdf2.html'>hash_pbkdf2</a></td><td>现在错误时将抛出 ValueError 异常。之前返回 false
        并发出 E_WARNING 消息。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-update-file.html'>hash_update_file</a></td><td>stream_context 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.header-remove.html'>header_remove</a></td><td>name 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.html-entity-decode.html'>html_entity_decode</a></td><td>encoding is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.htmlentities.html'>htmlentities</a></td><td>encoding 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.iconv-strpos.html'>iconv_strpos</a></td><td>encoding is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.iconv-strrpos.html'>iconv_strrpos</a></td><td>encoding is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.idate.html'>idate</a></td><td>现在 timestamp 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.ignore-user-abort.html'>ignore_user_abort</a></td><td>enable 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.imagearc.html'>imagearc</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagebmp.html'>imagebmp</a></td><td>The type of compressed is bool now; formerly it was int.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagebmp.html'>imagebmp</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecreatefrombmp.html'>imagecreatefrombmp</a></td><td>On success, this function returns a GDImage instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecreatefromtga.html'>imagecreatefromtga</a></td><td>On success, this function returns a GDImage instance now;
       previously, a 资源(resource) was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecrop.html'>imagecrop</a></td><td>On success, this function returns a GDImage instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecrop.html'>imagecrop</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecropauto.html'>imagecropauto</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecropauto.html'>imagecropauto</a></td><td>On success, this function returns a GDImage instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.imageflip.html'>imageflip</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagegetclip.html'>imagegetclip</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagegetinterpolation.html'>imagegetinterpolation</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagegrabscreen.html'>imagegrabscreen</a></td><td>On success, this function returns a GDImage instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagegrabwindow.html'>imagegrabwindow</a></td><td>On success, this function returns a GDImage instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagegrabwindow.html'>imagegrabwindow</a></td><td>client_area expects a bool now;
       previously it expected an int.</td></tr><tr><td>&nbsp;</td><td><a href='function.imageopenpolygon.html'>imageopenpolygon</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagepalettetotruecolor.html'>imagepalettetotruecolor</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imageresolution.html'>imageresolution</a></td><td>resolution_x and resolution_y are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagescale.html'>imagescale</a></td><td>On success, this function returns a GDImage instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagescale.html'>imagescale</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagesetclip.html'>imagesetclip</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagesetinterpolation.html'>imagesetinterpolation</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagettfbbox.html'>imagettfbbox</a></td><td>新增 options。</td></tr><tr><td>&nbsp;</td><td><a href='function.imagewbmp.html'>imagewbmp</a></td><td>foreground_color 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.imagewbmp.html'>imagewbmp</a></td><td>image expects a GdImage
  instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.implode.html'>implode</a></td><td>在 array 之后传递 separator 已不再支持。</td></tr><tr><td>&nbsp;</td><td><a href='function.inflate-add.html'>inflate_add</a></td><td>context expects an InflateContext
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.inflate-get-read-len.html'>inflate_get_read_len</a></td><td>context expects an InflateContext
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.inflate-get-status.html'>inflate_get_status</a></td><td>context expects an InflateContext
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.inflate-init.html'>inflate_init</a></td><td>On success, this function returns an InflateContext instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.is-numeric.html'>is_numeric</a></td><td>以空格结尾的数字字符串（&quot;42 &quot;）现在将返回 true。以前，会返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.jdtounix.html'>jdtounix</a></td><td>此函数在失败时不再返回 false，而是引发 ValueError。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-add.html'>ldap_add</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-add-ext.html'>ldap_add_ext</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-bind-ext.html'>ldap_bind_ext</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-compare.html'>ldap_compare</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-control-paged-result.html'>ldap_control_paged_result</a></td><td>This function has been removed.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-control-paged-result-response.html'>ldap_control_paged_result_response</a></td><td>This function has been removed.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-delete.html'>ldap_delete</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-delete-ext.html'>ldap_delete_ext</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-exop-passwd.html'>ldap_exop_passwd</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-list.html'>ldap_list</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-add.html'>ldap_mod_add</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-del.html'>ldap_mod_del</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-replace.html'>ldap_mod_replace</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-modify-batch.html'>ldap_modify_batch</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_add-ext.html'>ldap_mod_add_ext</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_del-ext.html'>ldap_mod_del_ext</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_replace-ext.html'>ldap_mod_replace_ext</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-read.html'>ldap_read</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-rename.html'>ldap_rename</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-rename-ext.html'>ldap_rename_ext</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-sasl-bind.html'>ldap_sasl_bind</a></td><td>dn, password, mech,
       realm, authc_id, authz_id
       and props are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-search.html'>ldap_search</a></td><td>controls is nullable now; previously, it defaulted to [].</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-set-rebind-proc.html'>ldap_set_rebind_proc</a></td><td>callback is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-sort.html'>ldap_sort</a></td><td>This function has been removed.</td></tr><tr><td>&nbsp;</td><td><a href='function.levenshtein.html'>levenshtein</a></td><td>在此版本之前，如果某个参数字符串的长度超过 255 个字符，则 levenshtein 将会返回 -1。</td></tr><tr><td>&nbsp;</td><td><a href='function.levenshtein.html'>levenshtein</a></td><td>在此版本之前，必须使用两个或者五个参数调用 levenshtein。</td></tr><tr><td>&nbsp;</td><td><a href='function.libxml-use-internal-errors.html'>libxml_use_internal_errors</a></td><td>use_errors is nullable now. Previously, its default
       was false.</td></tr><tr><td>&nbsp;</td><td><a href='function.localtime.html'>localtime</a></td><td>现在 timestamp 可为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-chr.html'>mb_chr</a></td><td>现在 encoding 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-convert-encoding.html'>mb_convert_encoding</a></td><td>现在，当 to_encoding 为无效编码时，
       mb_convert_encoding 会抛出 ValueError。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-convert-encoding.html'>mb_convert_encoding</a></td><td>现在，当 from_encoding 为无效编码时，
       mb_convert_encoding 会抛出 ValueError。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-convert-encoding.html'>mb_convert_encoding</a></td><td>现在 from_encoding 可以传入 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-convert-kana.html'>mb_convert_kana</a></td><td>现在 encoding 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-encode-mimeheader.html'>mb_encode_mimeheader</a></td><td>charset 和 transfer_encoding
       现在可以为空。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-encode-numericentity.html'>mb_encode_numericentity</a></td><td>现在 encoding 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg.html'>mb_ereg</a></td><td>This function returns true on success now. Previously, it returned the byte length
       of the matched string if a match for pattern was found in
       string and matches was passed.
       If the optional parameter matches was not passed or
       the length of the matched string was 0, this function returned 1.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-match.html'>mb_ereg_match</a></td><td>options is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-replace.html'>mb_ereg_replace</a></td><td>options is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-replace-callback.html'>mb_ereg_replace_callback</a></td><td>options is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-search.html'>mb_ereg_search</a></td><td>pattern and options are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-search-init.html'>mb_ereg_search_init</a></td><td>pattern and options are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-search-pos.html'>mb_ereg_search_pos</a></td><td>pattern and options are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-search-regs.html'>mb_ereg_search_regs</a></td><td>pattern and options are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-eregi.html'>mb_eregi</a></td><td>This function returns true on success now. Previously, it returned the byte length
       of the matched string if a match for pattern was found in
       string and matches was passed.
       If the optional parameter matches was not passed or
       the length of the matched string was 0, this function returned 1.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-eregi-replace.html'>mb_eregi_replace</a></td><td>options is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-get-info.html'>mb_get_info</a></td><td>参数 type 中的 &quot;func_overload&quot;
       和 &quot;func_overload_list&quot; 不再被支持。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ord.html'>mb_ord</a></td><td>现在 encoding 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-regex-encoding.html'>mb_regex_encoding</a></td><td>现在 encoding 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-regex-set-options.html'>mb_regex_set_options</a></td><td>If the parameter options is given and not null, the previous
       options are returned. Formerly, the current options have been returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-regex-set-options.html'>mb_regex_set_options</a></td><td>options is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-scrub.html'>mb_scrub</a></td><td>现在 encoding 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-str-split.html'>mb_str_split</a></td><td>此函数在失败时不再返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-str-split.html'>mb_str_split</a></td><td>现在 encoding 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.metaphone.html'>metaphone</a></td><td>The function returned false on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.mhash.html'>mhash</a></td><td>key is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.mktime.html'>mktime</a></td><td>hour 不再可选。</td></tr><tr><td>&nbsp;</td><td><a href='function.mktime.html'>mktime</a></td><td>现在 minute、second、month、day
        和 year 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.msg-get-queue.html'>msg_get_queue</a></td><td>On success, this function returns a SysvMessageQueue instance now;
        previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.msg-receive.html'>msg_receive</a></td><td>queue expects a SysvMessageQueue
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.msg-remove-queue.html'>msg_remove_queue</a></td><td>queue expects a SysvMessageQueue
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.msg-send.html'>msg_send</a></td><td>queue expects a SysvMessageQueue
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.msg-set-queue.html'>msg_set_queue</a></td><td>queue expects a SysvMessageQueue
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.msg-stat-queue.html'>msg_stat_queue</a></td><td>queue expects a SysvMessageQueue
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.number-format.html'>number_format</a></td><td>在此版本之前，number_format 接受一个、两个或四个参数（不会是三个）。</td></tr><tr><td>&nbsp;</td><td><a href='function.ob-implicit-flush.html'>ob_implicit_flush</a></td><td>enable 现在需要 bool 值；之前，需要 int。</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-columns.html'>odbc_columns</a></td><td>schema, table and column
       are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-error.html'>odbc_error</a></td><td>odbc is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-errormsg.html'>odbc_errormsg</a></td><td>odbc is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-exec.html'>odbc_exec</a></td><td>flags was removed.</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-fetch-row.html'>odbc_fetch_row</a></td><td>row is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-procedurecolumns.html'>odbc_procedurecolumns</a></td><td>Prior to this version, the function could only be called with either one
       or five arguments.</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-procedures.html'>odbc_procedures</a></td><td>Prior to this version, the function could only be called with either one
       or four arguments.</td></tr><tr><td>&nbsp;</td><td><a href='function.odbc-tables.html'>odbc_tables</a></td><td>schema, table and types
       are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.opendir.html'>opendir</a></td><td>现在 context 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-pkey-new.html'>openssl_pkey_new</a></td><td>成功时此函数会返回 OpenSSLAsymmetricKey 的实例；在之前版本中，则会返回类似为
       OpenSSL key 的 资源(resource)。</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-sign.html'>openssl_sign</a></td><td>private_key accepts an OpenSSLAsymmetricKey
       or OpenSSLCertificate instance now;
       previously, a 资源(resource) of type OpenSSL key or OpenSSL X.509
       was accepted.</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-x509-verify.html'>openssl_x509_verify</a></td><td>certificate accepts an OpenSSLCertificate instance now;
       previously, a 资源(resource) of type OpenSSL X.509 was accepted.</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-x509-verify.html'>openssl_x509_verify</a></td><td>public_key accepts an OpenSSLAsymmetricKey
       or OpenSSLCertificate instance now;
       previously, a 资源(resource) of type OpenSSL key or OpenSSL X.509
       was accepted.</td></tr><tr><td>&nbsp;</td><td><a href='function.pack.html'>pack</a></td><td>此函数不再在失败时返回 false 。</td></tr><tr><td>&nbsp;</td><td><a href='function.parse-str.html'>parse_str</a></td><td>result 是必须项。</td></tr><tr><td>&nbsp;</td><td><a href='function.parse-url.html'>parse_url</a></td><td>parse_url 现在对 query 和 fragment
   区分不存在和空值。</td></tr><tr><td>&nbsp;</td><td><a href='function.passthru.html'>passthru</a></td><td>如果 command 为空或者包含 null 字节，passthru 现在将抛出
       ValueError。之前会发出 E_WARNING 并返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.password-hash.html'>password_hash</a></td><td>参数 algo 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.password-hash.html'>password_hash</a></td><td>失败时 password_hash 不再返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.pfsockopen.html'>pfsockopen</a></td><td>timeout 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.pg-version.html'>pg_version</a></td><td>connection is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.phpversion.html'>phpversion</a></td><td>extension 现在可为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.readdir.html'>readdir</a></td><td>现在 dir_handle 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.rewinddir.html'>rewinddir</a></td><td>现在 dir_handle 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.round.html'>round</a></td><td>num 不再接受支持数字转换的内部对象。</td></tr><tr><td>&nbsp;</td><td><a href='function.sapi-windows-vt100-support.html'>sapi_windows_vt100_support</a></td><td>enable is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.scandir.html'>scandir</a></td><td>现在 context 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.sem-acquire.html'>sem_acquire</a></td><td>semaphore expects a SysvSemaphore
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.sem-get.html'>sem_get</a></td><td>On success, this function returns a SysvSemaphore instance now;
        previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.sem-get.html'>sem_get</a></td><td>The type of auto_release has been changed from
        int to bool.</td></tr><tr><td>&nbsp;</td><td><a href='function.sem-release.html'>sem_release</a></td><td>semaphore expects a SysvSemaphore
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.sem-remove.html'>sem_remove</a></td><td>semaphore expects a SysvSemaphore
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.session-module-name.html'>session_module_name</a></td><td>module 现在可以为空。</td></tr><tr><td>&nbsp;</td><td><a href='function.set-error-handler.html'>set_error_handler</a></td><td>删除 errcontext 并不再传递给用户回调。</td></tr><tr><td>&nbsp;</td><td><a href='function.shm-attach.html'>shm_attach</a></td><td>On success, this function returns an SysvSharedMemory instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.shm-attach.html'>shm_attach</a></td><td>size is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.shm-detach.html'>shm_detach</a></td><td>shm expects a SysvSharedMemory
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shm-get-var.html'>shm_get_var</a></td><td>shm expects a SysvSharedMemory
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shm-has-var.html'>shm_has_var</a></td><td>shm expects a SysvSharedMemory
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shm-put-var.html'>shm_put_var</a></td><td>shm expects a SysvSharedMemory
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shm-remove.html'>shm_remove</a></td><td>shm expects a SysvSharedMemory
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shm-remove-var.html'>shm_remove_var</a></td><td>shm expects a SysvSharedMemory
        instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shmop-close.html'>shmop_close</a></td><td>shmop expects a Shmop
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shmop-delete.html'>shmop_delete</a></td><td>shmop expects a Shmop
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shmop-open.html'>shmop_open</a></td><td>On success, this function returns an Shmop instance now;
       previously, a resource was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.shmop-read.html'>shmop_read</a></td><td>shmop expects a Shmop
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shmop-size.html'>shmop_size</a></td><td>shmop expects a Shmop
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.shmop-write.html'>shmop_write</a></td><td>Prior to PHP 8.0.0, false was returned on failure.</td></tr><tr><td>&nbsp;</td><td><a href='function.shmop-write.html'>shmop_write</a></td><td>shmop expects a Shmop
       instance now; previously, a resource was expected.</td></tr><tr><td>&nbsp;</td><td><a href='function.sleep.html'>sleep</a></td><td>此函数在负数 seconds 时抛出 ValueError，之前会引发
       E_WARNING 且函数返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-accept.html'>socket_accept</a></td><td>成功时，该函数现在返回一个 Socket 实例；在此之前，返回值是一个 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-addrinfo-bind.html'>socket_addrinfo_bind</a></td><td>现在 address 是 AddressInfo 实例，
  之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-addrinfo-bind.html'>socket_addrinfo_bind</a></td><td>成功时，该函数现在返回一个 Socket 实例；在此之前，返回值是一个 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-addrinfo-connect.html'>socket_addrinfo_connect</a></td><td>现在该函数成功时返回 Socket 实例；在此之前，返回值是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-addrinfo-connect.html'>socket_addrinfo_connect</a></td><td>现在 address 是 AddressInfo 实例，
  之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-addrinfo-explain.html'>socket_addrinfo_explain</a></td><td>现在 address 是 AddressInfo 实例，
  之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-addrinfo-lookup.html'>socket_addrinfo_lookup</a></td><td>成功时，现在函数返回 AddressInfo 实例数组。在此之前，返回的是 resource 数组。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-addrinfo-lookup.html'>socket_addrinfo_lookup</a></td><td>service 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-bind.html'>socket_bind</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-clear-error.html'>socket_clear_error</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-clear-error.html'>socket_clear_error</a></td><td>参数 socket 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-close.html'>socket_close</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-connect.html'>socket_connect</a></td><td>port 允许为空。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-connect.html'>socket_connect</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-create.html'>socket_create</a></td><td>创建成功时，该函数现在返回一个 Socket 实例；
        在此之前，返回的是一个 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-create-listen.html'>socket_create_listen</a></td><td>成功时，该函数现在返回一个 Socket 实例；在此之前，返回值是一个 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-create-pair.html'>socket_create_pair</a></td><td>pair 现在是 Socket 实例的引用数组；在这之前是 resource 的引用数组。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-export-stream.html'>socket_export_stream</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-get-option.html'>socket_get_option</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-getpeername.html'>socket_getpeername</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-getsockname.html'>socket_getsockname</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-import-stream.html'>socket_import_stream</a></td><td>成功时，该函数现在返回 Socket 实例；在此之前，返回 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-last-error.html'>socket_last_error</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-last-error.html'>socket_last_error</a></td><td>socket 现在可为空（nullable）。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-listen.html'>socket_listen</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-read.html'>socket_read</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-recv.html'>socket_recv</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-recvfrom.html'>socket_recvfrom</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-recvmsg.html'>socket_recvmsg</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-send.html'>socket_send</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-sendmsg.html'>socket_sendmsg</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-sendto.html'>socket_sendto</a></td><td>port 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-sendto.html'>socket_sendto</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-set-block.html'>socket_set_block</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-set-nonblock.html'>socket_set_nonblock</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-set-option.html'>socket_set_option</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-shutdown.html'>socket_shutdown</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-write.html'>socket_write</a></td><td>length 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-write.html'>socket_write</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-wsaprotocol-info-export.html'>socket_wsaprotocol_info_export</a></td><td>现在 socket 是 Socket 实例，
   之前是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.socket-wsaprotocol-info-import.html'>socket_wsaprotocol_info_import</a></td><td>成功时，该函数现在返回一个 Socket 实例；在此之前，返回的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='function.soundex.html'>soundex</a></td><td>Prior to this version, calling the function with an empty string returned false
       for no particular reason.</td></tr><tr><td>&nbsp;</td><td><a href='function.spl-autoload.html'>spl_autoload</a></td><td>file_extensions 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.spl-autoload-extensions.html'>spl_autoload_extensions</a></td><td>file_extensions 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.spl-autoload-register.html'>spl_autoload_register</a></td><td>callback 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.sprintf.html'>sprintf</a></td><td>此函数失败时不再返回 false 。</td></tr><tr><td>&nbsp;</td><td><a href='function.str-split.html'>str_split</a></td><td>如果 length 小于 1，现在会抛出
       ValueError；之前会触发 E_WARNING
       级别的错误且函数会返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.str-word-count.html'>str_word_count</a></td><td>characters 可为空（Nullable）类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.strcspn.html'>strcspn</a></td><td>length 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-context-create.html'>stream_context_create</a></td><td>现在 options 和 params 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-context-get-default.html'>stream_context_get_default</a></td><td>options is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-copy-to-stream.html'>stream_copy_to_stream</a></td><td>length is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-get-contents.html'>stream_get_contents</a></td><td>现在 length 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-socket-accept.html'>stream_socket_accept</a></td><td>现在 timeout 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-socket-client.html'>stream_socket_client</a></td><td>timeout and context are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-socket-enable-crypto.html'>stream_socket_enable_crypto</a></td><td>session_stream is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='function.stream-socket-server.html'>stream_socket_server</a></td><td>context 现在可为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.strftime.html'>strftime</a></td><td>timestamp is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='function.strip-tags.html'>strip_tags</a></td><td>allowed_tags 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.stripos.html'>stripos</a></td><td>不再支持 int 传递给 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.stristr.html'>stristr</a></td><td>不再支持 int 传递给 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strpos.html'>strpos</a></td><td>不再支持 int 传入 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strrchr.html'>strrchr</a></td><td>不再支持将 int 作为 needle 传递。</td></tr><tr><td>&nbsp;</td><td><a href='function.strripos.html'>strripos</a></td><td>不再支持将 int 传递给 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strrpos.html'>strrpos</a></td><td>不再支持将 int 传递给 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strspn.html'>strspn</a></td><td>length 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.strstr.html'>strstr</a></td><td>不再支持传递 int 作为 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strtotime.html'>strtotime</a></td><td>现在 baseTimestamp 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.substr.html'>substr</a></td><td>函数将返回空字符串, 在此之前返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.substr.html'>substr</a></td><td>现在 length 允许为 null。当 length
       显式设置为 null 时，函数返回在字符串末尾结束的子字符串，而之前将返回空字符串。</td></tr><tr><td>&nbsp;</td><td><a href='function.substr-compare.html'>substr_compare</a></td><td>length 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.substr-count.html'>substr_count</a></td><td>length 可以为空（nullable）。</td></tr><tr><td>&nbsp;</td><td><a href='function.substr-replace.html'>substr_replace</a></td><td>length 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.touch.html'>touch</a></td><td>mtime 和 atime
       现在可以为空。</td></tr><tr><td>&nbsp;</td><td><a href='function.uasort.html'>uasort</a></td><td>如果 callback 接受引用传递参数，该方法将会抛出
  E_WARNING。</td></tr><tr><td>&nbsp;</td><td><a href='function.uksort.html'>uksort</a></td><td>如果 callback 接受引用传递参数，该方法将会抛出
  E_WARNING。</td></tr><tr><td>&nbsp;</td><td><a href='function.umask.html'>umask</a></td><td>mask 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.unixtojd.html'>unixtojd</a></td><td>timestamp 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.usort.html'>usort</a></td><td>如果 callback 接受引用传递参数，该方法将会抛出
  E_WARNING。</td></tr><tr><td>&nbsp;</td><td><a href='function.vsprintf.html'>vsprintf</a></td><td>此函数失败时不再返回 false 。</td></tr><tr><td>&nbsp;</td><td><a href='globiterator.construct.html'>GlobIterator::__construct</a></td><td>Now throws a ValueError if
        directory is an empty string;
        previously it threw a RuntimeException.</td></tr><tr><td>&nbsp;</td><td><a href='intltimezone.getidforwindowsid.html'>IntlTimeZone::getIDForWindowsID</a></td><td>region is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='limititerator.construct.html'>LimitIterator::__construct</a></td><td>Now throws a ValueError if
        limit is less than -1;
        previously it threw a RuntimeException.</td></tr><tr><td>&nbsp;</td><td><a href='limititerator.construct.html'>LimitIterator::__construct</a></td><td>Now throws a ValueError if
        offset is less than 0;
        previously it threw a RuntimeException.</td></tr><tr><td>&nbsp;</td><td><a href='locale.getdisplaylanguage.html'>Locale::getDisplayLanguage</a></td><td>displayLocale is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='locale.getdisplayname.html'>Locale::getDisplayName</a></td><td>displayLocale is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='locale.getdisplayregion.html'>Locale::getDisplayRegion</a></td><td>displayLocale is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='locale.getdisplayscript.html'>Locale::getDisplayScript</a></td><td>displayLocale is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='locale.getdisplayvariant.html'>Locale::getDisplayVariant</a></td><td>displayLocale is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='numberformatter.create.html'>NumberFormatter::create</a></td><td>pattern is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='phar.addfile.html'>Phar::addFile</a></td><td>localName 现在可以为空。</td></tr><tr><td>&nbsp;</td><td><a href='phar.buildfromiterator.html'>Phar::buildFromIterator</a></td><td>baseDirectory is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phar.compress.html'>Phar::compress</a></td><td>extension is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phar.converttodata.html'>Phar::convertToData</a></td><td>format, compression, and extension are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phar.converttoexecutable.html'>Phar::convertToExecutable</a></td><td>format, compression, and localName are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phar.createdefaultstub.html'>Phar::createDefaultStub</a></td><td>index and webIndex are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phar.decompress.html'>Phar::decompress</a></td><td>extension is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phar.getmetadata.html'>Phar::getMetadata</a></td><td>The parameter unserializeOptions has been added.</td></tr><tr><td>&nbsp;</td><td><a href='phar.setdefaultstub.html'>Phar::setDefaultStub</a></td><td>webIndex is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='phar.setsignaturealgorithm.html'>Phar::setSignatureAlgorithm</a></td><td>privateKey is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phar.webphar.html'>Phar::webPhar</a></td><td>fileNotFoundScript, mimeTypes
       and rewrite are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.addfile.html'>PharData::addFile</a></td><td>localName is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.buildfromiterator.html'>PharData::buildFromIterator</a></td><td>baseDirectory is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.compress.html'>PharData::compress</a></td><td>extension is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.converttodata.html'>PharData::convertToData</a></td><td>format, compression, and extension are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.converttoexecutable.html'>PharData::convertToExecutable</a></td><td>format, compression, and localName are now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.decompress.html'>PharData::decompress</a></td><td>extension is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.setdefaultstub.html'>PharData::setDefaultStub</a></td><td>webIndex is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='phardata.setsignaturealgorithm.html'>PharData::setSignatureAlgorithm</a></td><td>privateKey is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='pharfileinfo.getmetadata.html'>PharFileInfo::getMetadata</a></td><td>The parameter unserializeOptions has been added.</td></tr><tr><td>&nbsp;</td><td><a href='pharfileinfo.iscompressed.html'>PharFileInfo::isCompressed</a></td><td>compression is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='recursivedirectoryiterator.construct.html'>RecursiveDirectoryIterator::__construct</a></td><td>Now throws a ValueError if
        directory is an empty string;
        previously it threw a RuntimeException.</td></tr><tr><td>&nbsp;</td><td><a href='recursiveiteratoriterator.getsubiterator.html'>RecursiveIteratorIterator::getSubIterator</a></td><td>level is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionclass.getconstants.html'>ReflectionClass::getConstants</a></td><td>添加 filter 。</td></tr><tr><td>&nbsp;</td><td><a href='reflectionclass.getreflectionconstants.html'>ReflectionClass::getReflectionConstants</a></td><td>filter has been added.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionmethod.getclosure.html'>ReflectionMethod::getClosure</a></td><td>object 现在可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='reflectionparameter.getdefaultvalue.html'>ReflectionParameter::getDefaultValue</a></td><td>This method now allows getting the default value of parameters of built-in functions and
        built-in class methods. Previously, a ReflectionException was thrown.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionparameter.getdefaultvalueconstantname.html'>ReflectionParameter::getDefaultValueConstantName</a></td><td>This method now allows getting the default values' constant names of built-in functions and
        built-in class methods. Previously, a ReflectionException was thrown.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionproperty.getvalue.html'>ReflectionProperty::getValue</a></td><td>object is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionproperty.isinitialized.html'>ReflectionProperty::isInitialized</a></td><td>object is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='simplexmlelement.asxml.html'>SimpleXMLElement::asXML</a></td><td>filename is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='soapclient.dorequest.html'>SoapClient::__doRequest</a></td><td>The type of oneWay is bool now; formerly it was int.</td></tr><tr><td>&nbsp;</td><td><a href='soapclient.setcookie.html'>SoapClient::__setCookie</a></td><td>value is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='soapserver.handle.html'>SoapServer::handle</a></td><td>request is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='splfileinfo.getfileinfo.html'>SplFileInfo::getFileInfo</a></td><td>class is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='splfileinfo.getpathinfo.html'>SplFileInfo::getPathInfo</a></td><td>class is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='splfileinfo.openfile.html'>SplFileInfo::openFile</a></td><td>context is now nullable.</td></tr><tr><td>&nbsp;</td><td><a href='splfixedarray.construct.html'>SplFixedArray::__construct</a></td><td>Now throws a ValueError if
        size is a negative;
        previously it threw a InvalidArgumentException.</td></tr><tr><td>&nbsp;</td><td><a href='tidy.construct.html'>tidy::__construct</a></td><td>filename, config,
       encoding and useIncludePath are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='tidy.parsefile.html'>tidy::parseFile</a></td><td>config and encoding are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='tidy.parsestring.html'>tidy::parseString</a></td><td>config and encoding are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='tidy.repairfile.html'>tidy::repairFile</a></td><td>config and encoding are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='tidy.repairfile.html'>tidy::repairFile</a></td><td>tidy::repairFile is a static method now.</td></tr><tr><td>&nbsp;</td><td><a href='tidy.repairstring.html'>tidy::repairString</a></td><td>tidy::repairString is a static method now.</td></tr><tr><td>&nbsp;</td><td><a href='tidy.repairstring.html'>tidy::repairString</a></td><td>This function no longer accepts the useIncludePath parameter.</td></tr><tr><td>&nbsp;</td><td><a href='tidy.repairstring.html'>tidy::repairString</a></td><td>config and encoding are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='xmlreader.getattribute.html'>XMLReader::getAttribute</a></td><td>This function can no longer return false.</td></tr><tr><td>&nbsp;</td><td><a href='xmlreader.getattributens.html'>XMLReader::getAttributeNs</a></td><td>This function can no longer return false.</td></tr><tr><td>&nbsp;</td><td><a href='xmlreader.lookupnamespace.html'>XMLReader::lookupNamespace</a></td><td>This function can no longer return false.</td></tr><tr><td>&nbsp;</td><td><a href='xmlreader.next.html'>XMLReader::next</a></td><td>name is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='xmlreader.open.html'>XMLReader::open</a></td><td>XMLReader::open is now declared as static method,
       but can still be called on an XMLReader instance.</td></tr><tr><td>&nbsp;</td><td><a href='xmlreader.xml.html'>XMLReader::XML</a></td><td>XMLReader::XML is now declared as static method,
       but can still be called on an XMLReader instance.</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.endattribute.html'>XMLWriter::endAttribute</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.endcdata.html'>XMLWriter::endCdata</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.endcomment.html'>XMLWriter::endComment</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.enddocument.html'>XMLWriter::endDocument</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.enddtd.html'>XMLWriter::endDtd</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.enddtdattlist.html'>XMLWriter::endDtdAttlist</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.enddtdelement.html'>XMLWriter::endDtdElement</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.enddtdentity.html'>XMLWriter::endDtdEntity</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.endelement.html'>XMLWriter::endElement</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.endpi.html'>XMLWriter::endPi</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.flush.html'>XMLWriter::flush</a></td><td>This function can no longer return false.</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.flush.html'>XMLWriter::flush</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.fullendelement.html'>XMLWriter::fullEndElement</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.openmemory.html'>XMLWriter::openMemory</a></td><td>This function returns now an XMLWriter instance on success.
       Previouly, a 资源(resource) has been returned in this case.</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.openuri.html'>XMLWriter::openUri</a></td><td>This function returns now an XMLWriter instance on success.
       Previouly, a 资源(resource) has been returned in this case.</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.outputmemory.html'>XMLWriter::outputMemory</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.setindent.html'>XMLWriter::setIndent</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.setindentstring.html'>XMLWriter::setIndentString</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startattribute.html'>XMLWriter::startAttribute</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startattributens.html'>XMLWriter::startAttributeNs</a></td><td>prefix is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startattributens.html'>XMLWriter::startAttributeNs</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startcdata.html'>XMLWriter::startCdata</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startcomment.html'>XMLWriter::startComment</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startdocument.html'>XMLWriter::startDocument</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startdtd.html'>XMLWriter::startDtd</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startdtdattlist.html'>XMLWriter::startDtdAttlist</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startdtdelement.html'>XMLWriter::startDtdElement</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startdtdentity.html'>XMLWriter::startDtdEntity</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startelement.html'>XMLWriter::startElement</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startelementns.html'>XMLWriter::startElementNs</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.startpi.html'>XMLWriter::startPi</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.text.html'>XMLWriter::text</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writeattribute.html'>XMLWriter::writeAttribute</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writeattributens.html'>XMLWriter::writeAttributeNs</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writecdata.html'>XMLWriter::writeCdata</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writecomment.html'>XMLWriter::writeComment</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writedtd.html'>XMLWriter::writeDtd</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writedtdattlist.html'>XMLWriter::writeDtdAttlist</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writedtdelement.html'>XMLWriter::writeDtdElement</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writedtdentity.html'>XMLWriter::writeDtdEntity</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writedtdentity.html'>XMLWriter::writeDtdEntity</a></td><td>publicId, systemId and
       notationData are nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writeelement.html'>XMLWriter::writeElement</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writeelementns.html'>XMLWriter::writeElementNs</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writepi.html'>XMLWriter::writePi</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr><tr><td>&nbsp;</td><td><a href='xmlwriter.writeraw.html'>XMLWriter::writeRaw</a></td><td>现在 writer 需要 XMLWriter 实例，
  之前需要的是 resource。</td></tr></tbody><tbody class="gen-changelog v8-0-0"><tr><td>7.4.4</td><td><a href='function.proc-open.html'>proc_open</a></td><td>为 options 参数增加 create_new_console 选项。</td></tr></tbody><tbody class="gen-changelog v7-4-4"><tr><td>7.4.0</td><td><a href='function.array-merge.html'>array_merge</a></td><td>允许不带参数调用，之前版本至少需要一个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-merge-recursive.html'>array_merge_recursive</a></td><td>允许不传递参数调用，之前的版本中至少需要一个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.base-convert.html'>base_convert</a></td><td>传递任何无效字符现在将生成弃用通知。但仍会计算结果，就好像无效字符不存在一样。</td></tr><tr><td>&nbsp;</td><td><a href='function.bindec.html'>bindec</a></td><td>传递任何无效字符现在将生成弃用通知。但仍会计算结果，就好像无效字符不存在一样。</td></tr><tr><td>&nbsp;</td><td><a href='function.chr.html'>chr</a></td><td>此函数不再静默接受不支持的 codepoint，并会将它们转为 0。</td></tr><tr><td>&nbsp;</td><td><a href='function.fgetcsv.html'>fgetcsv</a></td><td>escape 参数也接受空字符串来禁用所有的转义机制。</td></tr><tr><td>&nbsp;</td><td><a href='function.fputcsv.html'>fputcsv</a></td><td>escape 参数现在接受空字符串来禁用专有转义机制。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-declared-classes.html'>get_declared_classes</a></td><td>之前 get_declared_classes 
       返回的顺序总是父类在前，子类在后。现在不会这样了。get_declared_classes
       的返回值将不再保证顺序。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-magic-quotes-gpc.html'>get_magic_quotes_gpc</a></td><td>该函数已被废弃。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-magic-quotes-runtime.html'>get_magic_quotes_runtime</a></td><td>弃用此函数。</td></tr><tr><td>&nbsp;</td><td><a href='function.gzread.html'>gzread</a></td><td>This functions returns false on failure now; previously 0 was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.gzwrite.html'>gzwrite</a></td><td>This functions returns false on failure now; previously 0 was returned.</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-algos.html'>hash_algos</a></td><td>支持 crc32c。</td></tr><tr><td>&nbsp;</td><td><a href='function.hexdec.html'>hexdec</a></td><td>传递任何无效字符现在将生成弃用通知。但仍会计算结果，就好像无效字符不存在一样。</td></tr><tr><td>&nbsp;</td><td><a href='function.idn-to-ascii.html'>idn_to_ascii</a></td><td>现在 variant 的默认值为 INTL_IDNA_VARIANT_UTS46 ，
        而不是已弃用的 INTL_IDNA_VARIANT_2003 。</td></tr><tr><td>&nbsp;</td><td><a href='function.idn-to-utf8.html'>idn_to_utf8</a></td><td>现在 variant 的默认值为 INTL_IDNA_VARIANT_UTS46 ，
        而不是已弃用的 INTL_IDNA_VARIANT_2003 。</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecropauto.html'>imagecropauto</a></td><td>The behavior of imagecropauto() in the bundled libgd has been synced with
       that of system libgd: IMG_CROP_DEFAULT no longer falls
       back to IMG_CROP_SIDES and threshold-cropping now uses
       the same algorithm as system libgd.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecropauto.html'>imagecropauto</a></td><td>The default value of mode has been changed to
       IMG_CROP_AUTO. Formerly, the default value has been
       -1 which corresponds to IMG_CROP_DEFAULT,
       but passing -1 is now deprecated.</td></tr><tr><td>&nbsp;</td><td><a href='function.implode.html'>implode</a></td><td>在 array 之后传递 separator （即：使用遗留写法）已被废弃。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-control-paged-result.html'>ldap_control_paged_result</a></td><td>This function has been deprecated.</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-control-paged-result-response.html'>ldap_control_paged_result_response</a></td><td>This function has been deprecated.</td></tr><tr><td>&nbsp;</td><td><a href='function.money-format.html'>money_format</a></td><td>弃用此函数。使用 NumberFormatter::formatCurrency 替代。</td></tr><tr><td>&nbsp;</td><td><a href='function.octdec.html'>octdec</a></td><td>传递任何无效字符现在将生成弃用通知。但仍会计算结果，就好像无效字符不存在一样。</td></tr><tr><td>&nbsp;</td><td><a href='function.password-hash.html'>password_hash</a></td><td>现在 algo 参数可支持 string 类型，但为了向后兼容也支持
        int 类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.password-hash.html'>password_hash</a></td><td>扩展 sodium 提供了 Argon2 密码的替代实现。</td></tr><tr><td>&nbsp;</td><td><a href='function.password-needs-rehash.html'>password_needs_rehash</a></td><td>现在 algo 参数可以支持 string 类型，但为了向后兼容性，同时支持
        int 类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.preg-replace-callback.html'>preg_replace_callback</a></td><td>新增 flags 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.preg-replace-callback-array.html'>preg_replace_callback_array</a></td><td>The flags parameter was added.</td></tr><tr><td>&nbsp;</td><td><a href='function.proc-open.html'>proc_open</a></td><td>proc_open 的 command 参数现在也允许数组类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.proc-open.html'>proc_open</a></td><td>为 options 参数增加 create_process_group 选项。</td></tr><tr><td>&nbsp;</td><td><a href='function.stat.html'>stat</a></td><td>On Windows, the device number is now the serial number of the volume that
       contains the file, and the inode number is the identifier associated with the file.</td></tr><tr><td>&nbsp;</td><td><a href='function.stat.html'>stat</a></td><td>The size, atime, mtime and
       ctime statistics of symlinks are always those of the target.
       This was previously not the case for NTS builds on Windows.</td></tr><tr><td>&nbsp;</td><td><a href='function.str-getcsv.html'>str_getcsv</a></td><td>escape 现在将空字符串视为禁用专有转义机制的信号。以前视为默认参数值。</td></tr><tr><td>&nbsp;</td><td><a href='function.strip-tags.html'>strip_tags</a></td><td>allowed_tags 现在可以接受 array。</td></tr><tr><td>&nbsp;</td><td><a href='function.unserialize.html'>unserialize</a></td><td>新增 options 的 max_depth 元素，设置反序列化时允许的最大结构深度。</td></tr><tr><td>&nbsp;</td><td><a href='locale.lookup.html'>Locale::lookup</a></td><td>defaultLocale is nullable now.</td></tr><tr><td>&nbsp;</td><td><a href='splfileobject.fgetcsv.html'>SplFileObject::fgetcsv</a></td><td>The escape parameter now also accepts an empty
        string to disable the proprietary escape mechanism.</td></tr><tr><td>&nbsp;</td><td><a href='splfileobject.fputcsv.html'>SplFileObject::fputcsv</a></td><td>The escape parameter now also accepts an empty
        string to disable the proprietary escape mechanism.</td></tr><tr><td>&nbsp;</td><td><a href='splfileobject.fwrite.html'>SplFileObject::fwrite</a></td><td>The function now returns false instead of zero on failure.</td></tr><tr><td>&nbsp;</td><td><a href='splfileobject.getcsvcontrol.html'>SplFileObject::getCsvControl</a></td><td>The escape character can now be an empty string.</td></tr><tr><td>&nbsp;</td><td><a href='splfileobject.setcsvcontrol.html'>SplFileObject::setCsvControl</a></td><td>The escape parameter now also accepts an empty
        string to disable the proprietary escape mechanism.</td></tr><tr><td>&nbsp;</td><td><a href='sqlite3stmt.bindparam.html'>SQLite3Stmt::bindParam</a></td><td>param now also supports the @param
       notation.</td></tr><tr><td>&nbsp;</td><td><a href='sqlite3stmt.bindvalue.html'>SQLite3Stmt::bindValue</a></td><td>param now also supports the @param
       notation.</td></tr></tbody><tbody class="gen-changelog v7-4-0"><tr><td>7.3.24, 7.4.12</td><td><a href='function.jdtounix.html'>jdtounix</a></td><td>扩充了 julian_day 的上限。以前无论计算机体系结构如何，都是
       2465342。</td></tr><tr><td>&nbsp;</td><td><a href='tidynode.ishtml.html'>tidyNode::isHtml</a></td><td>This function has been fixed to have reasonable behavior. Previously,
       almost any node was reported as being an HTML node.</td></tr></tbody><tbody class="gen-changelog v7-3-24, 7-4-12"><tr><td>7.3.14, 7.4.2</td><td><a href='function.dba-open.html'>dba_open</a></td><td>The lmdb driver now supports an additional map_size
       parameter.</td></tr><tr><td>&nbsp;</td><td><a href='function.dba-popen.html'>dba_popen</a></td><td>The lmdb driver now supports an additional map_size
       parameter.</td></tr></tbody><tbody class="gen-changelog v7-3-14, 7-4-2"><tr><td>7.3.0</td><td><a href='datetimeimmutable.createfromformat.html'>DateTimeImmutable::createFromFormat</a></td><td>The v format specifier has
        been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.apache-request-headers.html'>apache_request_headers</a></td><td>此函数可用于 FPM SAPI 模式。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-push.html'>array_push</a></td><td>可以只用一个参数来调用此函数，之前版本中至少需要两个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-unshift.html'>array_unshift</a></td><td>现在可以只用一个参数来调用，之前至少需要两个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.assert.html'>assert</a></td><td>弃用在命名空间中声明 assert() 函数。这样声明会发出 E_DEPRECATED。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcmul.html'>bcmul</a></td><td>现在 bcmul 可以按想要的小数点位数返回数字。
       而之前，返回的数字会忽略尾随零（trailing decimal zeroes）。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcpow.html'>bcpow</a></td><td>现在 bcpow 可以按想要的小数点位数返回数字。
       而之前，返回的数字会忽略尾随零（trailing decimal zeroes）。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcscale.html'>bcscale</a></td><td>现在 bcscale 不仅可以设置，还可以获取当前的小数点保留位数。
       用于设置的时候，现在会返回之前的位数。
       之前 scale 是强制的参数， 且
       bcscale 总是返回 true。</td></tr><tr><td>&nbsp;</td><td><a href='function.compact.html'>compact</a></td><td>现在，如果字符串指向的变量未定义，compact 会产生 E_NOTICE 级错误。
       在此之前，此类问题会静默忽略掉。</td></tr><tr><td>&nbsp;</td><td><a href='function.define.html'>define</a></td><td>废弃了 case_insensitive，并将在 8.0.0 版中移除。</td></tr><tr><td>&nbsp;</td><td><a href='function.ftp-nb-fget.html'>ftp_nb_fget</a></td><td>参数 mode 变为可选参数。
       在之前的版本中，这是一个必填参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.ftp-nb-fput.html'>ftp_nb_fput</a></td><td>参数 mode 变为可选参数。
       在之前的版本中，这是一个必填参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.ftp-nb-get.html'>ftp_nb_get</a></td><td>mode 参数变为可选，之前是强制性的。</td></tr><tr><td>&nbsp;</td><td><a href='function.ftp-nb-put.html'>ftp_nb_put</a></td><td>mode 参数为可选，之前版本中为必填。</td></tr><tr><td>&nbsp;</td><td><a href='function.ftp-put.html'>ftp_put</a></td><td>mode 参数为可选，之前版本中为必选。</td></tr><tr><td>&nbsp;</td><td><a href='function.getallheaders.html'>getallheaders</a></td><td>该函数可以在 FPM SAPI 中使用。</td></tr><tr><td>&nbsp;</td><td><a href='function.is-countable.html'>is_countable</a></td><td>is_countable has been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.json-decode.html'>json_decode</a></td><td>flags 新增 JSON_THROW_ON_ERROR。</td></tr><tr><td>&nbsp;</td><td><a href='function.json-encode.html'>json_encode</a></td><td>flags 参数新增
        JSON_THROW_ON_ERROR
        常量。</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-add.html'>ldap_add</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-compare.html'>ldap_compare</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-delete.html'>ldap_delete</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-exop.html'>ldap_exop</a></td><td>Support for serverctrls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-exop-passwd.html'>ldap_exop_passwd</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-list.html'>ldap_list</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-add.html'>ldap_mod_add</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-del.html'>ldap_mod_del</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod-replace.html'>ldap_mod_replace</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-modify-batch.html'>ldap_modify_batch</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_add-ext.html'>ldap_mod_add_ext</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_del-ext.html'>ldap_mod_del_ext</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-mod_replace-ext.html'>ldap_mod_replace_ext</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-parse-result.html'>ldap_parse_result</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-read.html'>ldap_read</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-rename.html'>ldap_rename</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-rename-ext.html'>ldap_rename_ext</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.ldap-search.html'>ldap_search</a></td><td>Support for controls added</td></tr><tr><td>&nbsp;</td><td><a href='function.list.html'>list</a></td><td>支持在数组解构时传引用。</td></tr><tr><td>&nbsp;</td><td><a href='function.password-hash.html'>password_hash</a></td><td>增加 PASSWORD_ARGON2ID，支持 Argon2id 密码算法。</td></tr><tr><td>&nbsp;</td><td><a href='function.preg-quote.html'>preg_quote</a></td><td>字符 # 被增加为需要转义的。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-set-cookie-params.html'>session_set_cookie_params</a></td><td>增加 options 参数，
        可以通过传入一个关联数组对各个选项进行设置。
        同时，通过使用这个参数还可以对 SameSite cookie 进行设置。</td></tr><tr><td>&nbsp;</td><td><a href='function.setcookie.html'>setcookie</a></td><td>新增对替代签名 options 数组的支持。此签名还支持 SameSite cookie 属性的设置。</td></tr><tr><td>&nbsp;</td><td><a href='function.setrawcookie.html'>setrawcookie</a></td><td>新增替代签名 options 的支持。此签名还支持设置
        SameSite cookie 属性。</td></tr><tr><td>&nbsp;</td><td><a href='function.stripos.html'>stripos</a></td><td>弃用 int 传递给 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.stristr.html'>stristr</a></td><td>弃用 int 传递给 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strpos.html'>strpos</a></td><td>弃用 int 传入 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strrchr.html'>strrchr</a></td><td>弃用将 int 作为 needle 传递。</td></tr><tr><td>&nbsp;</td><td><a href='function.strripos.html'>strripos</a></td><td>弃用将 int 传递给 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strrpos.html'>strrpos</a></td><td>弃用将 int 传递给 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.strstr.html'>strstr</a></td><td>弃用传递 int 作为 needle。</td></tr><tr><td>&nbsp;</td><td><a href='function.unlink.html'>unlink</a></td><td>现在 Windows 也可以用 unlink 删除文件句柄还在使用中的文件了，在此之前是无法删除的。
       然而，还是无法重新创建文件，需要等到所有句柄都关闭才可以。</td></tr><tr><td>&nbsp;</td><td><a href='function.var-export.html'>var_export</a></td><td>现在将 stdClass 对象作为数组类型转换为对象输出（
        (object) array( ... )），而不是使用不存在的
        stdClass::__setState 方法。实际效果是，现在
        stdClass 是可输出的，生成的代码甚至可以在早期的
        PHP 版本上运行。</td></tr></tbody><tbody class="gen-changelog v7-3-0"><tr><td>7.2.19, 7.3.6, 7.4.0</td><td><a href='dateperiod.construct.html'>DatePeriod::__construct</a></td><td>recurrences must be greater than 0 now.</td></tr></tbody><tbody class="gen-changelog v7-2-19, 7-3-6, 7-4-0"><tr><td>7.2.19, 7.3.6</td><td><a href='splfileobject.tostring.html'>SplFileObject::__toString</a></td><td>Changed from an alias of SplFileObject::current to an alias of SplFileObject::fgets.</td></tr></tbody><tbody class="gen-changelog v7-2-19, 7-3-6"><tr><td>7.2.18, 7.3.5</td><td><a href='function.substr-compare.html'>substr_compare</a></td><td>offset 现在可能等于 haystack。</td></tr></tbody><tbody class="gen-changelog v7-2-18, 7-3-5"><tr><td>7.2.12</td><td><a href='dateinterval.format.html'>DateInterval::format</a></td><td>The F and f format
        will now always be positive.</td></tr></tbody><tbody class="gen-changelog v7-2-12"><tr><td>7.2.0</td><td><a href='function.array-unique.html'>array_unique</a></td><td>如果 flags 是 SORT_STRING，
        之前会复制 array 并移除非唯一数组（之后并不打包数组），
        现在是通过添加唯一元素来生成新数组。这可能会导致不同的数字索引。</td></tr><tr><td>&nbsp;</td><td><a href='function.assert.html'>assert</a></td><td>弃用使用 string 作为 assertion。当 assert.active
        和 zend.assertions 都设为 1 时，现在会发出
        E_DEPRECATED 通知。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcmod.html'>bcmod</a></td><td>新增参数 scale。</td></tr><tr><td>&nbsp;</td><td><a href='function.bcmod.html'>bcmod</a></td><td>现在
       num1 和 num2 不会截断成整数。
       所以现在 bcmod 的表现更接近 fmod
       而不是 % 操作符。</td></tr><tr><td>&nbsp;</td><td><a href='function.count.html'>count</a></td><td>当 value 参数传入了无效的 countable 类型，
       count 现在会产生警告。</td></tr><tr><td>&nbsp;</td><td><a href='function.date-parse.html'>date_parse</a></td><td>返回数组的 zone 
       键现在代表秒，而不是分钟。并且正负符号已反转，例如：之前是
       -120 现在是 7200。</td></tr><tr><td>&nbsp;</td><td><a href='function.date-parse-from-format.html'>date_parse_from_format</a></td><td>The zone element of the returned array represents
       seconds instead of minutes now, and its sign is inverted. For instance
       -120 is now 7200.</td></tr><tr><td>&nbsp;</td><td><a href='function.date-sun-info.html'>date_sun_info</a></td><td>The calculation was fixed with regards to local midnight instead of
        local noon, which changes the results slightly.</td></tr><tr><td>&nbsp;</td><td><a href='function.exif-read-data.html'>exif_read_data</a></td><td>新增了以下 EXIF 格式的支持：
        
         
          
           Samsung
          
         
         
          
           DJI
          
         
         
          
           Panasonic
          
         
         
          
           Sony
          
         
         
          
           Pentax
          
         
         
          
           Minolta
          
         
         
          
           Sigma/Foveon
          
         
         
          
           AGFA
          
         
         
          
           Kyocera
          
         
         
          
           Ricoh
          
         
         
          
           Epson</td></tr><tr><td>&nbsp;</td><td><a href='function.exif-read-data.html'>exif_read_data</a></td><td>file 参数现在起支持本地文件和流式资源。</td></tr><tr><td>&nbsp;</td><td><a href='function.exif-thumbnail.html'>exif_thumbnail</a></td><td>file 参数现在支持本地文件和流资源。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-class.html'>get_class</a></td><td>在此版本之前，object 的默认值是 
        null，它与不传递任何值有相同的效果。object
        已经移除了默认值 null 且不再是有效的输入。</td></tr><tr><td>&nbsp;</td><td><a href='function.gettype.html'>gettype</a></td><td>现在，已关闭的资源报告为 'resource (closed)'。此前，已关闭的资源报告为
        'unknown type'。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-copy.html'>hash_copy</a></td><td>接受的参数以及返回值从资源类型修改为 HashContext 对象类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-final.html'>hash_final</a></td><td>接收参数从资源类型修改为 HashContext 对象类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-hmac.html'>hash_hmac</a></td><td>不再支持非加密的散列函数（adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat）。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-hmac-file.html'>hash_hmac_file</a></td><td>禁用非加密散列函数（adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat）。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-init.html'>hash_init</a></td><td>当使用 HASH_HMAC 选项的时候，不再支持非加密的散列函数（adler32，crc32，crc32b，fnv132，fnv1a32，fnv164，fnv1a64，joaat）。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-init.html'>hash_init</a></td><td>返回 HashContext 对象，不再返回资源类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-pbkdf2.html'>hash_pbkdf2</a></td><td>不再支持非加密的散列函数（adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat）。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-update.html'>hash_update</a></td><td>接收参数从资源类型修改为 HashContext 对象类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-update-file.html'>hash_update_file</a></td><td>接收参数从资源类型修改为 HashContext 对象类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-update-stream.html'>hash_update_stream</a></td><td>接收参数从资源类型修改为 HashContext 对象类型。</td></tr><tr><td>&nbsp;</td><td><a href='function.idn-to-ascii.html'>idn_to_ascii</a></td><td>INTL_IDNA_VARIANT_2003 已被弃用；
        可以使用 INTL_IDNA_VARIANT_UTS46 代替。</td></tr><tr><td>&nbsp;</td><td><a href='function.idn-to-utf8.html'>idn_to_utf8</a></td><td>INTL_IDNA_VARIANT_2003 已被弃用；
        可以使用 INTL_IDNA_VARIANT_UTS46 代替。</td></tr><tr><td>&nbsp;</td><td><a href='function.imagetypes.html'>imagetypes</a></td><td>新增 IMG_BMP。</td></tr><tr><td>&nbsp;</td><td><a href='function.is-object.html'>is_object</a></td><td>没有定义类（__PHP_Incomplete_Class 类）的未序列化对象，is_object
        现在返回 true，之前返回 false。</td></tr><tr><td>&nbsp;</td><td><a href='function.json-decode.html'>json_decode</a></td><td>flags 新增 JSON_INVALID_UTF8_IGNORE、JSON_INVALID_UTF8_SUBSTITUTE。</td></tr><tr><td>&nbsp;</td><td><a href='function.json-decode.html'>json_decode</a></td><td>现在 associative 允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.json-encode.html'>json_encode</a></td><td>flags 参数新增
        JSON_INVALID_UTF8_IGNORE 和
        JSON_INVALID_UTF8_SUBSTITUTE
        常量。</td></tr><tr><td>&nbsp;</td><td><a href='function.mail.html'>mail</a></td><td>现在 additional_headers 参数开始支持 array。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-convert-encoding.html'>mb_convert_encoding</a></td><td>现在该函数的 string 参数同时能接受 array 类型。
       在此之前，仅支持 string。</td></tr><tr><td>&nbsp;</td><td><a href='function.mt-rand.html'>mt_rand</a></td><td>rand 已收到模偏差的 错误修复。这意味着使用特定种子生成的序列可能与
        64 位机器上的 PHP 7.1.0 不同。</td></tr><tr><td>&nbsp;</td><td><a href='function.number-format.html'>number_format</a></td><td>number_format 现在再也不会返回 -0，之前
        num 为 -0.01 的情况下可以返回 -0。</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-pkcs7-verify.html'>openssl_pkcs7_verify</a></td><td>新增 p7bfilename 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.pack.html'>pack</a></td><td>float 和 double 类型支持大端和小端。</td></tr><tr><td>&nbsp;</td><td><a href='function.parse-str.html'>parse_str</a></td><td>不带第二个参数的情况下使用 parse_str 会产生 
        E_DEPRECATED 警告。</td></tr><tr><td>&nbsp;</td><td><a href='function.password-hash.html'>password_hash</a></td><td>增加 PASSWORD_ARGON2I，支持 Argon2i 密码算法。</td></tr><tr><td>&nbsp;</td><td><a href='function.preg-match.html'>preg_match</a></td><td>现在 $flags 参数支持 PREG_UNMATCHED_AS_NULL。</td></tr><tr><td>&nbsp;</td><td><a href='function.preg-match-all.html'>preg_match_all</a></td><td>现在 $flags 参数可以支持 PREG_UNMATCHED_AS_NULL。</td></tr><tr><td>&nbsp;</td><td><a href='function.preg-quote.html'>preg_quote</a></td><td>delimiter 现在可为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.proc-nice.html'>proc_nice</a></td><td>在 Windows 平台上可用。</td></tr><tr><td>&nbsp;</td><td><a href='function.rand.html'>rand</a></td><td>rand 已收到模偏差的 错误修复。这意味着使用特定种子生成的序列可能与
        64 位机器上的 PHP 7.1.0 不同。</td></tr><tr><td>&nbsp;</td><td><a href='function.read-exif-data.html'>read_exif_data</a></td><td>这个函数别名被废弃。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-abort.html'>session_abort</a></td><td>The return type of this function is bool now.
       Formerly, it has been void.</td></tr><tr><td>&nbsp;</td><td><a href='function.session-module-name.html'>session_module_name</a></td><td>不允许设置模块名称为 &quot;user&quot;。 
       在之前的版本中，如果设置为 &quot;user&quot;，那么会被静默的忽略到。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-name.html'>session_name</a></td><td>session_name 函数会检查会话状态，
        之前的版本仅仅检查 cookie 状态。
        所以，旧版本的 PHP 允许你在调用 session_start
        函数之后再调用 session_name 函数，
        新版本的 PHP 不再允许这样做了。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-reset.html'>session_reset</a></td><td>The return type of this function is bool now.
       Formerly, it has been void.</td></tr><tr><td>&nbsp;</td><td><a href='function.session-set-cookie-params.html'>session_set_cookie_params</a></td><td>成功时返回 true， 或者在失败时返回 false。 之前版本中是返回 void 的。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-write-close.html'>session_write_close</a></td><td>The return type of this function is bool now.
       Formerly, it has been void.</td></tr><tr><td>&nbsp;</td><td><a href='function.set-error-handler.html'>set_error_handler</a></td><td>errcontext 被废弃。使用此参数时会导致 E_DEPRECATED 提醒。</td></tr><tr><td>&nbsp;</td><td><a href='function.unpack.html'>unpack</a></td><td>float and double types supports both Big Endian and Little Endian.</td></tr><tr><td>&nbsp;</td><td><a href='function.utf8-decode.html'>utf8_decode</a></td><td>This function has been moved from the XML extension to the core of PHP.
        In previous versions, it was only available if the XML extension was installed.</td></tr><tr><td>&nbsp;</td><td><a href='function.utf8-encode.html'>utf8_encode</a></td><td>This function has been moved from the XML extension to the core of PHP.
        In previous versions, it was only available if the XML extension was installed.</td></tr><tr><td>&nbsp;</td><td><a href='reflectionclass.getmethods.html'>ReflectionClass::getMethods</a></td><td>filter 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='reflectionclass.getproperties.html'>ReflectionClass::getProperties</a></td><td>filter 现在允许为 null。</td></tr><tr><td>&nbsp;</td><td><a href='sqlite3.openblob.html'>SQLite3::openBlob</a></td><td>The flags parameter has been added, allowing to
       write BLOBs; formerly only reading was supported.</td></tr></tbody><tbody class="gen-changelog v7-2-0"><tr><td>7.1.5</td><td><a href='intldateformatter.format.html'>IntlDateFormatter::format</a></td><td>Support for providing general DateTimeInterface objects to the
        datetime parameter was added. Formerly, only proper
        DateTime objects were supported.</td></tr></tbody><tbody class="gen-changelog v7-1-5"><tr><td>7.1.4</td><td><a href='pdo.sqlitecreatefunction.html'>PDO::sqliteCreateFunction</a></td><td>The flags parameter has been added.</td></tr><tr><td>&nbsp;</td><td><a href='sqlite3.createfunction.html'>SQLite3::createFunction</a></td><td>The flags parameter has been added.</td></tr></tbody><tbody class="gen-changelog v7-1-4"><tr><td>7.1.0</td><td><a href='dateinterval.format.html'>DateInterval::format</a></td><td>The F and f format
        characters were added.</td></tr><tr><td>&nbsp;</td><td><a href='datetime.settime.html'>DateTime::setTime</a></td><td>新增 microsecond 参数。</td></tr><tr><td>&nbsp;</td><td><a href='datetimeimmutable.construct.html'>DateTimeImmutable::__construct</a></td><td>From now on microseconds are filled with actual value. Not with '00000'.</td></tr><tr><td>&nbsp;</td><td><a href='datetimeimmutable.settime.html'>DateTimeImmutable::setTime</a></td><td>The microsecond parameter was added.</td></tr><tr><td>&nbsp;</td><td><a href='datetimezone.listidentifiers.html'>DateTimeZone::listIdentifiers</a></td><td>现在，countryCode 可以为 null。</td></tr><tr><td>&nbsp;</td><td><a href='function.array-rand.html'>array_rand</a></td><td>内部随机化算法已从 libc rand 函数更改为使用
        梅森旋转算法（Mersenne Twister） 随机数生成器。</td></tr><tr><td>&nbsp;</td><td><a href='function.exif-imagetype.html'>exif_imagetype</a></td><td>新增 WebP 支持。</td></tr><tr><td>&nbsp;</td><td><a href='function.file-get-contents.html'>file_get_contents</a></td><td>支持负数 offset。</td></tr><tr><td>&nbsp;</td><td><a href='function.get-headers.html'>get_headers</a></td><td>新增 context 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.getenv.html'>getenv</a></td><td>现在可以省略 varname 来检索所有环境变量的关联数组 array。</td></tr><tr><td>&nbsp;</td><td><a href='function.getopt.html'>getopt</a></td><td>添加 rest_index 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.grapheme-extract.html'>grapheme_extract</a></td><td>Support for negative offsets has been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.grapheme-stripos.html'>grapheme_stripos</a></td><td>Support for negative offsets has been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.grapheme-strpos.html'>grapheme_strpos</a></td><td>Support for negative offsets has been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.hash-algos.html'>hash_algos</a></td><td>加入 sha512/224，sha512/256，sha3-224，sha3-256，sha3-384 以及
        sha3-512 算法的支持。</td></tr><tr><td>&nbsp;</td><td><a href='function.iconv-strpos.html'>iconv_strpos</a></td><td>Support for negative offsets has been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.json-decode.html'>json_decode</a></td><td>An empty JSON key (&quot;&quot;) can be encoded to the empty object property
        instead of using a key with value _empty_.</td></tr><tr><td>&nbsp;</td><td><a href='function.json-encode.html'>json_encode</a></td><td>flags 参数新增
        JSON_UNESCAPED_LINE_TERMINATORS
        常量。</td></tr><tr><td>&nbsp;</td><td><a href='function.json-encode.html'>json_encode</a></td><td>对 float 值进行编码时，使用
        serialize_precision 代替
        precision。</td></tr><tr><td>&nbsp;</td><td><a href='function.list.html'>list</a></td><td>现在可以指定 list 中的键。
        这就可以解构非数字键或者无顺序的数组。</td></tr><tr><td>&nbsp;</td><td><a href='function.long2ip.html'>long2ip</a></td><td>参数 ip 的类型从 string 改成 int。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg.html'>mb_ereg</a></td><td>mb_ereg will now set matches to
       an empty array, if nothing matched. Formerly,
       matches was not modified in that case.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-replace.html'>mb_ereg_replace</a></td><td>The e modifier has been deprecated.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-replace.html'>mb_ereg_replace</a></td><td>The function checks whether string is valid for the
        current encoding.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-replace-callback.html'>mb_ereg_replace_callback</a></td><td>The function checks whether string is valid for the
        current encoding.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-ereg-search-setpos.html'>mb_ereg_search_setpos</a></td><td>Support for negative offsets has been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-eregi.html'>mb_eregi</a></td><td>mb_eregi will now set matches to
       an empty array, if nothing matched. Formerly,
       matches was not modified in that case.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-eregi-replace.html'>mb_eregi_replace</a></td><td>The e modifier has been deprecated.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-eregi-replace.html'>mb_eregi_replace</a></td><td>The function checks whether string is valid for the
        current encoding.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-strimwidth.html'>mb_strimwidth</a></td><td>支持负数的 start 和 width。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-stripos.html'>mb_stripos</a></td><td>支持 offset 使用负数。</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-strpos.html'>mb_strpos</a></td><td>支持负数的 offset。</td></tr><tr><td>&nbsp;</td><td><a href='function.mt-rand.html'>mt_rand</a></td><td>mt_rand 成为使用梅森旋转（Mersenne
        Twister）算法的固定、正确版本。要使用旧行为，请使用 mt_srand 并将
        MT_RAND_PHP 作为第二个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.mt-rand.html'>mt_rand</a></td><td>rand 成为 mt_rand 的别名。</td></tr><tr><td>&nbsp;</td><td><a href='function.mt-srand.html'>mt_srand</a></td><td>mt_rand 成为使用梅森旋转（Mersenne
        Twister）算法的固定、正确版本。要使用旧行为，请使用 mt_srand 并将
        MT_RAND_PHP 作为第二个参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.mt-srand.html'>mt_srand</a></td><td>srand 成为
        mt_srand 的别名。</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-decrypt.html'>openssl_decrypt</a></td><td>添加了 tag 和 aad 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-encrypt.html'>openssl_encrypt</a></td><td>增加了 tag、aad、tag_length 参数</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-pkey-new.html'>openssl_pkey_new</a></td><td>添加了 curve_name 配置参数使得可以创建 EC 密钥。</td></tr><tr><td>&nbsp;</td><td><a href='function.output-add-rewrite-var.html'>output_add_rewrite_var</a></td><td>在 PHP 7.1.0 之前，使用 output_add_rewrite_var 设置重写变量使用相同的
        Session 模块 trans sid 输出缓冲区。从 PHP 7.1.0 起，使用专用的输出缓冲区，
        url_rewriter.tags 仅用于输出函数，新增 url_rewriter.hosts。</td></tr><tr><td>&nbsp;</td><td><a href='function.output-reset-rewrite-vars.html'>output_reset_rewrite_vars</a></td><td>在 PHP 7.1.0 之前，使用 output_add_rewrite_var 设置重写变量使用相同的
        Session 模块 trans sid 输出缓冲区。从 PHP 7.1.0 起，使用专用的输出缓冲区，output_reset_rewrite_vars
        仅删除由 output_add_rewrite_var 定义的重写变量。</td></tr><tr><td>&nbsp;</td><td><a href='function.rand.html'>rand</a></td><td>rand 成为 mt_rand 的别名。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-start.html'>session_start</a></td><td>当 session_start 执行失败，
        无法开始一个会话的时候，会返回 false，
        并且不会初始化超级变量 $_SESSION。</td></tr><tr><td>&nbsp;</td><td><a href='function.shuffle.html'>shuffle</a></td><td>内置的随机数产生算法从 libc rand 函数改成梅森旋转伪随机数生成算法。</td></tr><tr><td>&nbsp;</td><td><a href='function.srand.html'>srand</a></td><td>srand 成为 mt_srand 的别名。</td></tr><tr><td>&nbsp;</td><td><a href='function.str-shuffle.html'>str_shuffle</a></td><td>内置的随机算法从 libc rand 函数更改为梅森旋转伪随机数生成算法。</td></tr><tr><td>&nbsp;</td><td><a href='function.stripos.html'>stripos</a></td><td>开始支持负数的 offset。</td></tr><tr><td>&nbsp;</td><td><a href='function.strpos.html'>strpos</a></td><td>开始支持负数的 offset。</td></tr><tr><td>&nbsp;</td><td><a href='function.substr-count.html'>substr_count</a></td><td>开始支持负数的 offset 和 length。</td></tr><tr><td>&nbsp;</td><td><a href='function.tempnam.html'>tempnam</a></td><td>当回退到系统的临时目录时 tempnam 会发出一个通知。</td></tr><tr><td>&nbsp;</td><td><a href='function.unpack.html'>unpack</a></td><td>The optional offset has been added.</td></tr><tr><td>&nbsp;</td><td><a href='function.unserialize.html'>unserialize</a></td><td>options 的 allowed_classes 元素现在是严格类型，即如果给出
        array 或 bool 以外的任何内容，则 unserialize 返回
        false 并发出 E_WARNING。</td></tr><tr><td>&nbsp;</td><td><a href='reflectiontype.tostring.html'>ReflectionType::__toString</a></td><td>ReflectionType::__toString has been deprecated.</td></tr><tr><td>&nbsp;</td><td><a href='sessionhandler.gc.html'>SessionHandler::gc</a></td><td>Prior to this version, the function returned true on success.</td></tr><tr><td>&nbsp;</td><td><a href='sessionhandlerinterface.gc.html'>SessionHandlerInterface::gc</a></td><td>Prior to this version, the function returned true on success.</td></tr></tbody><tbody class="gen-changelog v7-1-0"><tr><td>7.0.16, 7.1.2</td><td><a href='function.dns-get-record.html'>dns_get_record</a></td><td>新增对 CAA 记录的支持。</td></tr><tr><td>&nbsp;</td><td><a href='function.fopen.html'>fopen</a></td><td>新增 'e' 选项。</td></tr></tbody><tbody class="gen-changelog v7-0-16, 7-1-2"><tr><td>7.0.15, 7.1.1</td><td><a href='function.get-defined-functions.html'>get_defined_functions</a></td><td>新增 exclude_disabled 参数。</td></tr></tbody><tbody class="gen-changelog v7-0-15, 7-1-1"><tr><td>7.0.15,7.1.1</td><td><a href='function.pack.html'>pack</a></td><td>添加了 &ldquo;e&rdquo;,&ldquo;E&rdquo;,&ldquo;g&rdquo; 和 &ldquo;G&rdquo; 代码以启用 float 和 double 的字节顺序支持。</td></tr></tbody><tbody class="gen-changelog v7-0-15,7-1-1"><tr><td>7.0.11</td><td><a href='function.iconv-substr.html'>iconv_substr</a></td><td>如果 str 等长于
        offset 个字符，
        将返回空字符串。之前的版本里，这种情况是会返回  false 的。</td></tr></tbody><tbody class="gen-changelog v7-0-11"><tr><td>7.0.10</td><td><a href='function.imagetypes.html'>imagetypes</a></td><td>新增 IMG_WEBP。</td></tr><tr><td>&nbsp;</td><td><a href='splfileobject.getcsvcontrol.html'>SplFileObject::getCsvControl</a></td><td>Added the escape character to the returned array.</td></tr><tr><td>&nbsp;</td><td><a href='sqlite3.construct.html'>SQLite3::__construct</a></td><td>The filename can now be empty to use a private,
       temporary on-disk database.</td></tr></tbody><tbody class="gen-changelog v7-0-10"><tr><td>7.0.9</td><td><a href='function.getenv.html'>getenv</a></td><td>添加 local_only 参数。</td></tr></tbody><tbody class="gen-changelog v7-0-9"><tr><td>7.0.7</td><td><a href='function.curl-setopt.html'>curl_setopt</a></td><td>引入 CURL_HTTP_VERSION_2、 CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE、
        CURL_HTTP_VERSION_2TLS、 CURL_REDIR_POST_301、
        CURL_REDIR_POST_302、 CURL_REDIR_POST_303、
        CURL_REDIR_POST_ALL、 CURL_VERSION_KERBEROS5、
        CURL_VERSION_PSL、 CURL_VERSION_UNIX_SOCKETS、
        CURLAUTH_NEGOTIATE、 CURLAUTH_NTLM_WB、
        CURLFTP_CREATE_DIR、 CURLFTP_CREATE_DIR_NONE、
        CURLFTP_CREATE_DIR_RETRY、 CURLHEADER_SEPARATE、
        CURLHEADER_UNIFIED、 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE、
        CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE、 CURLMOPT_MAX_HOST_CONNECTIONS、
        CURLMOPT_MAX_PIPELINE_LENGTH、 CURLMOPT_MAX_TOTAL_CONNECTIONS、
        CURLOPT_CONNECT_TO、 CURLOPT_DEFAULT_PROTOCOL、
        CURLOPT_DNS_INTERFACE、 CURLOPT_DNS_LOCAL_IP4、
        CURLOPT_DNS_LOCAL_IP6、 CURLOPT_EXPECT_100_TIMEOUT_MS、
        CURLOPT_HEADEROPT、 CURLOPT_LOGIN_OPTIONS、
        CURLOPT_PATH_AS_IS、 CURLOPT_PINNEDPUBLICKEY、
        CURLOPT_PIPEWAIT、 CURLOPT_PROXY_SERVICE_NAME、
        CURLOPT_PROXYHEADER、 CURLOPT_SASL_IR、
        CURLOPT_SERVICE_NAME、 CURLOPT_SSL_ENABLE_ALPN、
        CURLOPT_SSL_ENABLE_NPN、 CURLOPT_SSL_FALSESTART、
        CURLOPT_SSL_VERIFYSTATUS、 CURLOPT_STREAM_WEIGHT、
        CURLOPT_TCP_FASTOPEN、 CURLOPT_TFTP_NO_OPTIONS、
        CURLOPT_UNIX_SOCKET_PATH、 CURLOPT_XOAUTH2_BEARER、
        CURLPROTO_SMB、 CURLPROTO_SMBS、
        CURLPROXY_HTTP_1_0、 CURLSSH_AUTH_AGENT 和
        CURLSSLOPT_NO_REVOKE。</td></tr></tbody><tbody class="gen-changelog v7-0-7"><tr><td>7.0.0</td><td><a href='function.assert.html'>assert</a></td><td>assert 现在是语言结构而不是函数。assertion 现在可以是表达式。第二个参数现在解释为
        exception（如果给出了 Throwable），或者解释为自 PHP 5.4.8 开始支持的
        description。</td></tr><tr><td>&nbsp;</td><td><a href='function.define.html'>define</a></td><td>允许 array 的值。</td></tr><tr><td>&nbsp;</td><td><a href='function.dirname.html'>dirname</a></td><td>添加可选的 levels 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.getrusage.html'>getrusage</a></td><td>此函数现在开始支持 Windows。</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-open.html'>openssl_open</a></td><td>添加了 iv 参数</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-seal.html'>openssl_seal</a></td><td>添加 iv 变量。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-start.html'>session_start</a></td><td>新加 options 参数。</td></tr></tbody><tbody class="gen-changelog v7-0-0"><tr><td>5.5.0/PECL 3.0.0</td><td><a href='intldateformatter.create.html'>IntlDateFormatter::create</a></td><td>An IntlCalendar object is allowed for
         calendar.
        
        
         Objects of type IntlTimeZone and
         DateTimeZone are allowed for
         timezone.
        
        
         Invalid timezone identifiers (including empty strings) are no longer
         allowed for timezone.
        
        
         If null is given for timezone, the timezone
         identifier given by date_default_timezone_get will
         be used instead of ICUʼs default.</td></tr><tr><td>&nbsp;</td><td><a href='intldateformatter.setcalendar.html'>IntlDateFormatter::setCalendar</a></td><td>It became possible to pass an IntlCalendar
        object.</td></tr></tbody><tbody class="gen-changelog v5-5-0/PECL 3-0-0"><tr><td>5.5.0</td><td><a href='function.mysql-connect.html#function.mysql-connect.changelog'></a></td><td>此函数会生成一个 E_DEPRECATED 错误。</td></tr><tr><td>&nbsp;</td><td><a href='function.mysql-db-name.html#function.mysql-db-name.changelog'></a></td><td>mysql_list_dbs 函数已废弃，调用时会抛出
        E_DEPRECATED 级别的错误。</td></tr><tr><td>&nbsp;</td><td><a href='function.mysql-pconnect.html#function.mysql-pconnect.changelog'></a></td><td>函数会抛出一个 E_DEPRECATED 错误。</td></tr><tr><td>&nbsp;</td><td><a href='function.mysql-tablename.html#function.mysql-tablename.changelog'></a></td><td>mysql_tablename 函数已废弃，调用时会抛出
        E_DEPRECATED 级别的错误。</td></tr></tbody><tbody class="gen-changelog v5-5-0"><tr><td>5.4.8</td><td><a href='function.mb-strcut.html'>mb_strcut</a></td><td>Passing NULL as length
        extracts all bytes to the end of the string. Prior to this version
        NULL was treated the same as 0.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-substr.html'>mb_substr</a></td><td>length 传入 NULL，则从 start 提取到字符串的结尾处。
        在之前的版本里，
        NULL 会被当作 0 来处理。</td></tr></tbody><tbody class="gen-changelog v5-4-8"><tr><td>5.4.0</td><td><a href='function.iconv.html'>iconv</a></td><td>这个版本起，字符非法时候会返回  false，除非在输出字符里指定了 //IGNORE 。
         在之前版本，它会返回一部分字符串。</td></tr><tr><td>&nbsp;</td><td><a href='function.imagewebp.html'>imagewebp</a></td><td>支持把 resource 流作为
        to 参数传入。</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-decrypt.html'>openssl_decrypt</a></td><td>将 raw_output 更改至 options。</td></tr></tbody><tbody class="gen-changelog v5-4-0"><tr><td>5.3.3</td><td><a href='function.openssl-decrypt.html'>openssl_decrypt</a></td><td>添加 iv 参数。</td></tr></tbody><tbody class="gen-changelog v5-3-3"><tr><td>5.3.0</td><td><a href='function.getimagesize.html'>getimagesize</a></td><td>Added icon support.</td></tr><tr><td>&nbsp;</td><td><a href='function.imagecolorclosesthwb.html'>imagecolorclosesthwb</a></td><td>在 Windows 平台上可用</td></tr><tr><td>&nbsp;</td><td><a href='function.imagefilter.html'>imagefilter</a></td><td>Pixelation support (IMG_FILTER_PIXELATE) was added.</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-open.html'>openssl_open</a></td><td>添加了 method 参数</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-seal.html'>openssl_seal</a></td><td>添加 method 变量。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-start.html'>session_start</a></td><td>如果函数调用失败返回 false，
        之前版本返回了 true。</td></tr></tbody><tbody class="gen-changelog v5-3-0"><tr><td>5.2.5</td><td><a href='function.imagefilter.html'>imagefilter</a></td><td>Alpha support for IMG_FILTER_COLORIZE was added.</td></tr></tbody><tbody class="gen-changelog v5-2-5"><tr><td>5.2.3</td><td><a href='function.getimagesize.html'>getimagesize</a></td><td>Read errors generated by this function downgraded to
        E_NOTICE from E_WARNING.</td></tr><tr><td>&nbsp;</td><td><a href='pdostatement.getcolumnmeta.html'>PDOStatement::getColumnMeta</a></td><td>table 字段</td></tr></tbody><tbody class="gen-changelog v5-2-3"><tr><td>5.2.2</td><td><a href='function.ftp-ssl-connect.html'>ftp_ssl_connect</a></td><td>以前版本中，如果无法使用 SSL 连接，将会返回一个非 SSL 的连接，
        在 5.2.2 版本中修改为返回 false</td></tr><tr><td>&nbsp;</td><td><a href='function.token-get-all.html'>token_get_all</a></td><td>Line numbers are returned in element 2</td></tr></tbody><tbody class="gen-changelog v5-2-2"><tr><td>5.2.0</td><td><a href='function.imagettftext.html'>imagettftext</a></td><td>It is now possible to specify an hexadecimal entity in 
        text.</td></tr><tr><td>&nbsp;</td><td><a href='function.mb-strrpos.html'>mb_strrpos</a></td><td>增加了可选参数 offset。</td></tr><tr><td>&nbsp;</td><td><a href='function.openssl-verify.html'>openssl_verify</a></td><td>添加了 signature_alg 参数。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-get-cookie-params.html'>session_get_cookie_params</a></td><td>在返回数组中加入 &ldquo;httponly&rdquo;。</td></tr><tr><td>&nbsp;</td><td><a href='function.session-set-cookie-params.html'>session_set_cookie_params</a></td><td>加入 httponly 参数。</td></tr><tr><td>&nbsp;</td><td><a href='pdostatement.execute.html'>PDOStatement::execute</a></td><td>input_parameters 中的键名必须和 SQL 中声明的相匹配。PHP 5.2.0 之前默认忽略。</td></tr></tbody><tbody class="gen-changelog v5-2-0"><tr><td>5.1.3</td><td><a href='function.curl-getinfo.html'>curl_getinfo</a></td><td>引入CURLINFO_HEADER_OUT.</td></tr></tbody><tbody class="gen-changelog v5-1-3"><tr><td>5.1.0</td><td><a href='function.imagerotate.html'>imagerotate</a></td><td>新增： ignore_transparent 。</td></tr></tbody><tbody class="gen-changelog v5-1-0"><tr><td>5.0.0</td><td><a href='function.socket-create.html'>socket_create</a></td><td>增加 AF_INET6 支持。</td></tr></tbody></table>
   </div>
</div></div></body></html>